Tab*_*Tab 10 c# wpf resources dictionary image
我想知道如何在C#代码后面动态使用字典资源 - 即..我想在运行时从字典中的图像资源加载图像
我有一个程序在WPF字典中有3个图像 - 这些是设置为图像资源的图像.
然后在我的WPF窗口后面的代码中,我想根据用户发起的事件加载三个图像中的任何一个.
没有真正的代码我必须展示,因为我没有做过任何工作.
想法?
Eri*_*ith 20
首先,确保您已经定义了这样的图像资源:
<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>
Run Code Online (Sandbox Code Playgroud)
其次,我假设你的WPF字典在它自己的文件中.现在,您必须确保已将字典合并到主窗口的XAML中(如果您的资源字典在窗口的XAML中定义,请跳过此步骤).在窗口的XAML文件中,确保你有这样的东西:
<Window.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="myDictionary.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Window.Resources>
Run Code Online (Sandbox Code Playgroud)
现在,在您的代码隐藏中,您可以使用FindResource()方法通过它的键名(资源字典中ImageSource上的x:Key属性的值)来定位您的图像资源,如下所示:
imageControl.Source = (ImageSource)FindResource("image1");
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助!