Trước tiên, hãy chắc chắn bạn đã xác định nguồn tài nguyên hình ảnh của bạn như thế này:
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<ImageSource x:Key="image1">images/image1.jpg</ImageSource>
<ImageSource x:Key="image2">images/image2.jpg</ImageSource>
</ResourceDictionary>
Thứ hai, tôi giả định rằng từ điển WPF của bạn là trong tập tin riêng của mình. Bây giờ bạn phải chắc chắn rằng bạn đã hợp nhất từ điển của bạn vào XAML của cửa sổ chính của bạn (bỏ qua bước này nếu từ điển tài nguyên của bạn được định nghĩa bên trong XAML của cửa sổ). Trong file XAML của cửa sổ của bạn, hãy chắc chắn bạn có một cái gì đó như thế này:
<Window.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="myDictionary.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Window.Resources>
Lúc này, trong code-behind, bạn có thể sử dụng phương pháp FindResource() để xác định vị trí tài nguyên hình ảnh của bạn bằng cách đó là tên chính (giá trị của thuộc tính x: Khóa trên ImageSource trong từ điển tài nguyên) như sau:
imageControl.Source = (ImageSource)FindResource("image1");
Hy vọng điều này sẽ hữu ích!
Nguồn
2009-06-03 02:09:22
ah, những gì tôi đã bỏ lỡ là việc hợp nhất từ điển của tôi vào Window.Resources - được nhiều người đánh giá cao! – Tab
Phản hồi được viết độc đáo. 1 và cảm ơn! Duyệt MSDN là nỗi đau cho các tình huống như vậy – Gishu
Kudo - ngắn ngọt và rất chính xác –