web-dev-qa-db-ja.com

SilverlightでImage.Sourceを設定する方法(コードビハインド)

Silverlightの分離コードを使用して画像を動的に生成していますが、画像ソースがパスとして文字列またはUriを受け入れないようです。

ソースを設定するにはどうすればよいですか?

30
Drahcir

文字列をソースとして受け入れないのはどういう意味ですか?

これはできませんか?

または、あなたの画像はメモリにあり、それを参照する方法がわからないと言っていますか?

this.MyImage.Source = new BitmapImage(new Uri("/MyNameSpace;images/someimage.png", UriKind.Relative));
54
Gautam
// 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));  
6
Malcolm Swaine

ソリューションを機能させるには、次のものを置き換える必要がありました。

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"))
1
jpk