2013-02-13 82 views
0

在主窗口XAML我添加資源圖片my_image。 在代碼中找到它的函數FindResource 該函數返回一個非null。 但是在img.Source中是空的。 我在做什麼錯?FindResource返回空圖像

//xaml 
    <Window.Resources> 
     <Image x:Key="my_image" Source="Properties/images/device1.png"/> 
    </Window.Resources> 

//c# code 

    Image img=this.FindResource("my_image") as Image; 

UPDATE: 這個問題是通過指向組件類型作爲資源來解決。 並且還必須創建圖像的新實例img_new。 並給它一個從資源中獲得的東西的來源。 然後正常,我們可以使用img_new

Image img=this.FindResource("my_image") as Image; 
Image img_new=new Image(); 
img_new.Source=img.Source; 
+0

資源給我你沒有做錯什麼。如果將圖像放入網格中,您是否看到圖像?當在網格中添加img時: – Klaus78 2013-02-13 06:42:30

+0

MyGrid.Children.Add(img); 獲取一個例外:System.Windows.Markup.XamlParseException – Mixer 2013-02-13 07:06:05

+0

你在XAML中看到的與 ? – Klaus78 2013-02-13 07:17:40

回答

2

更改您的device1.png的生成操作,從內容

+0

謝謝。 現在img.Source不爲空。 我在調試器中看到圖像大小等。 但是,當嘗試在網格中添加img時:MyGrid.Children.Add(img); 獲取一個異常:System.Windows.Markup.XamlParseException – Mixer 2013-02-13 07:05:13

+0

我無法重現您的問題。它對我來說運行良好。你能分享更多的代碼嗎? – Manish 2013-02-13 07:15:40