2011-12-30 4 views
-2

Я попытался добавить изображение через следующее, но он все еще не работает. Тип изображения - это контент.Добавление изображения в Bing map

Image image = new Image(); 
image.Source = new System.Windows.Media.Imaging.BitmapImage(new Uri("myimage.png", UriKind.Relative)); 

//Define the image display properties 
image.Opacity = 1.0; 
image.Stretch = Stretch.Fill; 
image.Width = 40; 
image.Height = 40; 

// Center the image around the location specified 


//Add the image to the defined map layer 
phoneDetailsLayer.AddChild(image, e.Position.Location); 

mapViewAll.Children.Remove(phoneDetailsLayer); 
mapViewAll.Children.Add(phoneDetailsLayer); 
+0

Вы получаете сообщение об ошибке или просто не отображается? – keyboardP

+0

нет сообщения об ошибке, просто не отображается – ericlee

+0

Проверьте свои изображения Местоположение и путь, и я использовал в изображениях Свойства Создать действие как ресурс. – BigL

ответ

-3
/projectname;component/images/menu/lost.png 

ли правильный путь, остальная часть вашего ответа действительно не работает

+0

Просто, чтобы уточнить, как ваш файл xaml.cs связан с файлом изображения? Я предполагаю, что файл xaml.cs находится в отдельной папке и поэтому потребует относительного uri. Например, если файл xaml.cs находится в/views, ваш относительный uri будет «../images/menu/lost.png» –

+0

мой xaml включен/страницы, когда изображения включены/изображения? может ли это быть проблемой? – ericlee

+0

Это не проблема, но вы должны знать о последствиях для своего пути. Каждый дополнительный. означает, что вы поднимаетесь на другой уровень. Ссылка относительна! В вашей ситуации это так. "/images/file.png" -> "/pages/images/file.png" "./images/file.png" -> "/pages/images/file.png" "../images/ file.png "->" /images/file.png " –

1

Убедитесь, что ваше изображение правильного типа ресурса и загружается оптимально (т.е. один раз, если используются несколько раз). Существует несколько подходов к загрузке изображений для WPF (таких же, как WP7), которые описаны здесь: WPF image resources

Этот пост здесь: Visual Studio: How to store an image resource as an Embedded Resource? обсуждает различные типы ресурсов изображений, которые вы должны использовать/не должны использовать.

Я думаю, вам стоит взглянуть на то, как хорошо это понять, поскольку это может помочь вам избежать проблем в будущем, которые могут появиться.

-1

Главный вопрос заключается в том, как получить истинный uri. Для меня следующая таблица помогает мне в этом случае (я только его на немецком языке): Uriformats WP7

http://msdn.microsoft.com/de-de/library/aa970069.aspx

пример:

// Absolute URI (default) 
Uri absoluteUri = new Uri("pack://application:,,,/File.xaml", UriKind.Absolute); 
// Relative URI 
Uri relativeUri = new Uri("/File.xaml", UriKind.Relative); 

Пример 2:

Uri uri = new Uri("pack://application:,,,/File.xaml"); 

или Codebehind:

0

Я не могу добавить комментарий к вашему вопросу, однако я спрошу здесь, когда вы скажете контент, добавили ли вы изображение непосредственно в проект, содержащий ваш код или отдельный проект контента?

Предполагая, что вы добавили его непосредственно:

Если бы вы установить «Build Action», чтобы «Ресурс», то вы должны использовать метод GetResourceStream:

Image image = new Image(); 
StreamResourceInfo resource = Application.GetResourceStream(new Uri("/myimage.png", UriKind.Relative)); 
var bmp = new System.Windows.Media.Imaging.BitmapImage(); 
bmp.SetSource(resource.Stream); 
image.Source = bmp; 

Однако, если вы установите «Построить действие» на «Контент», вы должны использовать метод GetContentStream

Image image = new Image(); 
StreamResourceInfo resource = Application.GetContentStream(new Uri("/myimage.png", UriKind.Relative)); 
var bmp = new System.Windows.Media.Imaging.BitmapImage(); 
bmp.SetSource(resource.Stream); 
image.Source = bmp; 
0

Просто для уточнения ответа на эти вопросы. Проблема не в типе ресурса, проблема была связана с тем, как относительная работа Ури. Так же, как любой хорошо структурированный проект ericlee использовал различные папки в своем проекте, подобные этому (относительно корня проекта): /pages - содержит фактические страницы и, следовательно, также страницу, содержащую приведенный выше код /images - содержит фактические изображения PNG, которые должны быть указаны

В исходном коде ссылка на «myimage.png» приведена как относительный uri. Приложение теперь будет смотреть на «/pages/myimage.png» и, следовательно, не найдет изображение. Трюк здесь заключается в использовании правильного относительного URI. Он может быть сконструирован следующим образом: 1. Сначала перейдите к корню проекта, используя две точки -> .. (один для текущего каталога, один дополнительный, чтобы подняться на один уровень) 2. Теперь ссылка/изображения ->. ./images 3. Теперь добавьте ссылку на файл -> ../images/myimage.png

Если вы используете правильный URI, проблема решена.

Смежные вопросы