2009-02-23 21 views

cevap

53

Bir dize kaynak olarak kabul edilmeyeceği anlamına mı geliyor?

Bunu yapamaz mısınız?

Veya görüntünüzün bellekte olduğunu ve nasıl referans göstereceğinizi bilmiyorsunuz?

this.MyImage.Source = new BitmapImage(new Uri("/MyNameSpace;images/someimage.png", UriKind.Relative)); 
+1

yolundaki ad alanını dahil etmeden çalıştı. Örneği kastettiğim dizeyi kabul etmedim: MyImage.Source = "/MyNameSpace;images/someimage.png", asp.net – Drahcir

+0

ah buna ihtiyaç vardı! – Michel

+4

Projemin "bileşenleri" eklemesi gerekiyor: this.MyImage.Source = new BitmapImage (yeni Uri ("/ MyNameSpace; components/images/someimage.png", UriKind.Relative)); HTTP protokolü için – Raptor

6
// 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)); 
+0

no go gerek yok. sadece yerel kaynak kullanmak iyidir. – Raptor

1

Ben çözüm iş bulmak için aşağıdaki değiştirmek için gerekli:

this.MyImage.Source = new BitmapImage(new Uri("/MyNameSpace;components/images/someimage.png", UriKind.Relative)); 

MyNamespace benim için işe yaramadı, ama ExecutingAssemblyName yüzden yaptı:

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")) 
İlgili konular