2011-02-09 155 views
0

IM WPF應用程序的EXE訪問圖片當前訪問我的形象在XAML,並將其與我從代碼隱藏

Source="/SocialShock-WPF-Client;component/Images/blue-bar-replication.png" 

設置爲一個PictureBox如何將我的代碼隱藏做到這一點?

回答

1
public static BitmapImage GetImageFromResource(string name) 
    { 
     var res = new BitmapImage(); 
     res.BeginInit(); 
     res.StreamSource = Assembly.GetExecutingAssembly().GetManifestResourceStream("SocialShock-WPF-Client.Images." + name); 
     res.EndInit(); 

     return res; 
    } 

在您的案例中調用帶有圖片名稱「blue-bar-replication.png」的此方法。 圖像構建操作應設置爲EmbededResource。

+0

`在PresentationCore.dll中發生類型'System.InvalidOperationException'的第一次機會異常。System.InvalidOperationException:必須設置屬性'UriSource'或屬性'StreamSource'。 在System.Windows.Media.Imaging.BitmapImage.EndInit() 在.BottomBarUserControl.GetImageFromResource(字符串名稱)... BottomBarUserControl.xaml.cs:在SocialShock_WPF_Client.BottomBarUserControl..ctor()的行71 .. .BottomBarUserControl.xaml.cs:第55行 System.InvalidOperationException:屬性'UriSource'或屬性'StreamSource'必須設置。' – caesay 2011-02-09 16:42:12

+0

確定名稱,名稱空間和目錄是否正確?嘗試Assembly.GetExecutingAssembly()。GetManifestResourceNames()並檢查您的圖像是否出現在列表 – serine 2011-02-09 16:53:15

0

完全相同的方式。創建BitmapImage對象(通過Uri對象具有與其constructor相同的路徑)。然後將Image的Source屬性設置爲新創建的BitmapImage對象。