Как установить Image.Source в Silverlight (код позади)
Я динамически генерирую изображение через код в Silverlight и, по-видимому, источник изображения не принимает строку или Uri в качестве пути.
Как установить источник?
Ответ 1
Как вы понимаете, что он не примет строку в качестве источника?
Вы не можете это сделать?
Или вы говорите, что ваше изображение находится в памяти, и вы не знаете, как его ссылаться?
this.MyImage.Source = new BitmapImage(new Uri("/MyNameSpace;images/someimage.png", UriKind.Relative));
Ответ 2
// create a new image
Image image = new Image();
// better to keep this in a global config singleton
string hostName = Application.Current.Host.Source.Host;
if (Application.Current.Host.Source.Port != 80)
hostName += ":" + Application.Current.Host.Source.Port;
// set the image source
image.Source = new BitmapImage(new Uri("http://" + hostName + "/image111.jpg", UriKind.Absolute));
Ответ 3
Мне нужно было заменить следующее, чтобы получить решение:
this.MyImage.Source = new BitmapImage(new Uri("/MyNameSpace;components/images/someimage.png", UriKind.Relative));
MyNameSpace не работал у меня, но ExecutingAssemblyName сделал так:
Dim tmp As String() = Assembly.GetExecutingAssembly.FullName.Split(","c)
Dim path As String = "/" & tmp(0) & ";component/images/"
MyImage.Source = new BitmapImage(new Uri(path & "someImage.png"))