我有一个MainWindow类(来自Window),我试图在我的任务栏上设置Overlay图标。
this.TaskbarItemInfo.Overlay =(ImageSource)Resources [" WarningImage"];
无论我尝试什么,资源都是空的(计数0),即使我在xaml中添加了一个图像对象。是否有一种可靠的方法来设置Overlay图标绕过资源,从文件加载图像?有没有办法在应用程序的ResourceDictionary中引用资源,以便我可以使用该方法设置Overlay。
//资源为空没有找到图像
var test = (DrawingImage)this.FindResource("WarningImage");
this.TaskbarItemInfo.Overlay = (ImageSource)Resources["WarningImage"];
谢谢你, 〜 - [R
<Window.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/Styles/AppStyles.xaml"/>
<ResourceDictionary>
<DrawingImage x:Key="WarningImage">
<DrawingImage.Drawing>
<ImageDrawing Rect="0,0,16,16" ImageSource="/Images/question.png" />
</DrawingImage.Drawing>
</DrawingImage>
</ResourceDictionary>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Window.Resources>
答案 0 :(得分:0)
由于您正在创建资源字典,因此导致问题。只需将它保存在像这样的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>
以这种方式访问资源:
var test = (DrawingImage)this.FindResource("WarningImage");
var test1 = (DrawingImage)this.FindName("WarningImage");