wpf图像资源并在运行时在wpf控件中更改图像

我想知道如何在后面的C#代码中动态使用字典资源 – 即..我想在运行时从字典中的图像资源加载图像

我有一个程序在WPF字典中有3个图像 – 这些是设置为图像资源的图像。

然后在我的WPF窗口后面的代码中,我想根据用户发起的事件加载三个图像中的任何一个。

没有真正的代码我必须展示,因为我没有做过任何工作。

想法?

首先,确保您已经定义了这样的图像资源:

 images/image1.jpg images/image2.jpg  

其次,我假设你的WPF字典在它自己的文件中。 现在,您必须确保已将字典合并到主窗口的XAML中(如果您的资源字典在窗口的XAML中定义,则跳过此步骤)。 在你窗口的XAML文件中,确保你有这样的东西:

        

现在,在您的代码隐藏中,您可以使用FindResource()方法通过它的键名(资源字典中ImageSource上的x:Key属性的值)来定位您的图像资源,如下所示:

 imageControl.Source = (ImageSource)FindResource("image1"); 

希望这可以帮助!

这是对已接受答案的补充:在MVVM中的ViewModel工作时,请确保从添加资源目录的视图中使用FindResource

                

我在这种情况下的观点是一个窗口(我知道MVVM不正确;-))

 Image img = new Image(); img.Source = (ImageSource)WindowReference.FindResource("Pluse"); 

这里WindowReference是对WindowReference的引用。