我有我的程序集中的資源,我可以使用Properties.Resources.MyImage訪問。
我有一些類,我綁定到一個WPF菜單項包含屬性將System.Drawing.Image資源轉換爲System.Windows.Controls.Image for wpf MenuItem
public System.Windows.Controls.Image Icon {get; set;}
此我想設置以編程方式使用:
dummy.Icon = Properties.Resources.MyImage;
現在我想將資源轉換System.Drawing中。圖像到WPF System.Windows.Controls.Image。我認爲這應該是直截了當的,但我發現我的圖像沒有工作解決方案(這是使用透明度的PNG文件)。
那麼如何將System.Drawing.Image轉換爲System.Windows.Controls.Image?
這並不直接回答你的問題,但我強烈建議你*不*加載'系統。 Drawing.Image'對象。它會相當慢,消耗更多的內存(你會加載每個圖像兩次)。你可以直接使用WPF資源(build action'Resource'),它會加載一個'ImageSource'(我也建議使用'ImageSource'作爲你的綁定源屬性而不是'Image',這是一個控件 - 因此它不能被添加到視覺樹中的多個位置)。 –
好的提示,但如何?我無法直接將xaml綁定到資源,它需要在運行時進行設置。那麼如何從代碼中使用Properties.Resources.MyImage訪問資源? – Sam
請勿爲圖像使用Properties.Resources;它與WPF不兼容。我會寫一個完整的答案。 –