我對WPF很新穎。我把一個Image控件放在一個Window上,我想將控件上的圖像設置爲一個存儲在名爲「Resources.resx」的項目資源文件中的圖像。資源文件中圖像的名稱是「搜索」。有人能告訴我如何去做這件事嗎?如何在XAML中引用圖像資源?
回答
如果圖像是在你的資源文件夾及其構建操作設置爲資源。您可以按如下方式在XAML中引用圖像:
"pack://application:,,,/Resources/Search.png"
假設您在Resources文件夾下沒有任何文件夾結構,並且它是應用程序。例如我使用:
ImageSource="pack://application:,,,/Resources/RibbonImages/CloseButton.png"
當我有一個名爲RibbonImages資源文件夾下的文件夾。
如果你已經在你的項目的圖標文件夾中有一個形象和它的生成操作是「資源」,你可以參考這樣的:
<Image Source="/Icons/play_small.png" />
這是做到這一點的最簡單方法。這是我能想出這樣做純粹是從資源的角度來看的唯一途徑,沒有項目文件:
var resourceManager = new ResourceManager(typeof (Resources));
var bitmap = resourceManager.GetObject("Search") as System.Drawing.Bitmap;
var memoryStream = new MemoryStream();
bitmap.Save(memoryStream, System.Drawing.Imaging.ImageFormat.Bmp);
memoryStream.Position = 0;
var bitmapImage = new BitmapImage();
bitmapImage.BeginInit();
bitmapImage.StreamSource = memoryStream;
bitmapImage.EndInit();
this.image1.Source = bitmapImage;
在燈架上有一個輕微的變化:'<圖像源=「/圖標/ play_small.png」 />'注意在這意味着看在根文件夾起始的斜線。如果XAML文件不在根,這是必要的,因爲沒有斜槓,它將開始在同一目錄中的XAML文件搜索。 – 2013-08-12 18:55:59
謝謝,更新的答案。 – RandomEngy 2016-06-20 04:40:11
使用一個資源文件的好處是通過名稱訪問資源,因此圖像會發生變化,圖像名稱可以改變,只要資源被不斷更新正確的圖像會顯示出來。
這裏是實現這個清潔方法: 假設Resources.resx是「UI.Images」命名空間,在您的XAML添加命名空間引用這樣的:
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:UI="clr-namespace:UI.Images"
設置你的圖片來源是這樣:
<Image Source={Binding {x:Static UI:Resources.Search}} />
其中'搜索'是資源的名稱。
- 將文件夾添加到您的項目,並通過「現有項目」添加圖像。
- XAML與此類似:
<Image Source="MyRessourceDir\images\addButton.png"/>
- F6(生成)
- 1. 如何在XAML中引用圖標資源文件引用
- 2. 引用XAML中的資源
- 3. 從資源中獲取圖像XAML
- 4. 引用XAML中的靜態資源
- 5. 如何在UWP XAML資源中自引用DataTemplate?
- 6. 如何在XAML集合中引用靜態資源?
- 7. 如何在grails中從CSS引用圖像資源?
- 8. 如何將WPF引用圖像添加爲圖像資源?
- 9. 在XAML標記中使用圖像資源?
- 10. 如何在用戶控件庫中訪問XAML中的資源圖像?
- 11. 如何在XAML中動畫資源?
- 12. 如何將定義爲XAML資源的圖像用作圖像控件?
- 13. 如何將嵌入式圖像資源分配給XAML中的圖像控件
- 14. 資源圖像可以在Xaml中引用,但不能在代碼中引用,爲什麼?
- 15. 如何引用轉換器中的資源圖像?
- 16. 如何在XAML中使用MVVM動態地在XAML中更改圖像源Xamarin
- 17. 在XAML中綁定資源
- 18. C#資源與XAML資源
- 19. WPF使用XAML圖像源
- 20. 如何使用資源,如果「資源和圖像」爲空
- 21. 如何在Silverlight中引用XAML中的圖像的基本URL?
- 22. WPF XAML資源
- 23. 如何從XAML引用嵌入式資源?
- 24. 在HTML資源中引用圖像不起作用
- 25. 從資源中顯示XAML中圖像的首選方式
- 26. WPF在xaml中使用資源變量
- 27. VS2012 Xaml Designer:資源視圖在哪裏?
- 28. 如何從資源中提取圖像?
- 29. 如何在JSP中引用靜態資源(如CSS,圖像,Java腳本)?
- 30. 如何引用資源包?
'pack'命名空間代表什麼? – Hosea146 2011-04-05 17:45:08
這裏是關於包URI信息:http://msdn.microsoft.com/en-us/library/aa970069(v=VS.90).aspx#The_Pack_URI_Scheme – Viv 2011-04-05 17:48:29
它以來我添加圖片到我的應用程序,而..我會在這裏撥錯,但我認爲你可能需要構建應用程序它顯示在WPF設計器中的圖像之前。 – Viv 2011-04-05 17:51:25