Загрузка изображений из разных пользовательских элементов управления в Silverlight - PullRequest
0 голосов
/ 30 октября 2009

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

В веб-проекте в каталоге ClientBin у меня есть каталог с изображениями, содержащий png-файл.

В файле MainPage.xaml я могу создать объект Image, вызвать его mainImage, а затем в коде использовать его в конструкторе:

BitmapImage src = новый BitmapImage (новый Uri ("Images / myImage.png", UriKind.Relative)); mainImage.SetValue (Image.SourceProperty, src);

Это все работает нормально, однако, когда я создаю UserControl с той же функциональностью, а затем создаю экземпляр этого элемента управления в MainPage.xaml, приложение запускается, но я не получаю изображения. Почему это?

Я также укажу, что новый пользовательский элемент управления был создан в папке Controls и поэтому имеет другое пространство имен (solutionName.Controls или любое другое)

Любая помощь будет отличной, и если вам нужна дополнительная информация, пожалуйста, попросите (постарайтесь сделать ее краткой)

Kris

1 Ответ

2 голосов
/ 31 октября 2009

Измените способ создания URI для изображения, чтобы он был таким:

Uri url = new Uri(Application.Current.Host.Source, "Images/myImage.png");
BitmapImage src = new BitmapImage(url);

Это будет использовать xap в качестве корневого URI, а затем сделать URL-адрес относительно этого, поэтому он будет работать независимо от того, какой текущий URL-адрес.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...