C# 回复:代码隐藏中无法访问资源

C# 回复:代码隐藏中无法访问资源,c#,wpf,C#,Wpf,我有一个MainWindow类(从窗口),我试图在任务栏上设置覆盖图标 this.TaskbarItemInfo.Overlay=(ImageSource)资源[“WarningImage”] 尽管我在xaml中添加了图像对象,但无论我尝试什么,资源都是空的(计数为0)。是否有可靠的方法设置覆盖图标,绕过资源,从文件加载图像?是否有一种方法可以引用应用程序的ResourceDictionary中的资源,以便我可以使用该方法设置覆盖 //资源为空,未找到图像 var test = (Drawing

我有一个MainWindow类(从窗口),我试图在任务栏上设置覆盖图标

this.TaskbarItemInfo.Overlay=(ImageSource)资源[“WarningImage”]

尽管我在xaml中添加了图像对象,但无论我尝试什么,资源都是空的(计数为0)。是否有可靠的方法设置覆盖图标,绕过资源,从文件加载图像?是否有一种方法可以引用应用程序的ResourceDictionary中的资源,以便我可以使用该方法设置覆盖

//资源为空,未找到图像

var test = (DrawingImage)this.FindResource("WarningImage");
this.TaskbarItemInfo.Overlay = (ImageSource)Resources["WarningImage"];
谢谢,, ~r


问题是由于您正在创建资源字典而引起的。把它放在窗口里,像这样的资源

<Window.Resources>
    <DrawingImage x:Key="WarningImage">
        <DrawingImage.Drawing>
            <ImageDrawing Rect="0,0,16,16" ImageSource="/Images/question.png" />
        </DrawingImage.Drawing>
    </DrawingImage>
</Window.Resources>

此问题是由于您正在创建资源字典而导致的。把它放在窗口里,像这样的资源

<Window.Resources>
    <DrawingImage x:Key="WarningImage">
        <DrawingImage.Drawing>
            <ImageDrawing Rect="0,0,16,16" ImageSource="/Images/question.png" />
        </DrawingImage.Drawing>
    </DrawingImage>
</Window.Resources>

我需要从Styles中获取一些共享资源,唯一的方法就是通过ResourceDictionary。如果我将DrawingImage与ResourceDictionary一起添加,它将不会编译。有没有一种方法可以将映像添加到资源中,同时访问共享资源?我尝试将图像移动到共享资源中,但也无法正常工作。有没有办法访问ResourceDictionary来检索图像?@Radek:是的,您可以将资源字典移动到一个单独的文件,可能是StyleDictionary.xaml,并且可以从该文件访问资源。为什么不简单地将图像作为资源添加到文件夹中,并在项目中使用它呢?资源方法是我找到的获取ImageSource对象实例的最简单方法,我需要它来设置TaskbarItemInfo。Overlay@Radek:请阅读:我需要从Styles中获取一些共享资源,唯一的方法是通过资源字典。如果我将DrawingImage与ResourceDictionary一起添加,它将不会编译。有没有一种方法可以将映像添加到资源中,同时访问共享资源?我尝试将图像移动到共享资源中,但也无法正常工作。有没有办法访问ResourceDictionary来检索图像?@Radek:是的,您可以将资源字典移动到一个单独的文件,可能是StyleDictionary.xaml,并且可以从该文件访问资源。为什么不简单地将图像作为资源添加到文件夹中,并在项目中使用它呢?资源方法是我找到的获取ImageSource对象实例的最简单方法,我需要它来设置TaskbarItemInfo。Overlay@Radek:请阅读:
var test = (DrawingImage)this.FindResource("WarningImage");
var test1 = (DrawingImage)this.FindName("WarningImage");