Icons.xaml中,主要是一些SVG的logo,通过在线安装NeGet Package (MahApps.Metro.Resources)将Icons.xaml引入工程以后,打开Icons.xaml文件,你可能会发现,其中一句是有错误的:
Fill="{DynamicResource BlackBrush}"
提示找不到BlackBrush
。
如果是这样,所有通过Icons.xaml使用的logo,都只能在xaml文件中看到,但是运行起来以后,是显示不出来这个logo的。
那么,应该怎么处理呢?实际上,我们少引用了一个全局的Resource,而这个Resource就在MahApps.Metro这个Package中(这个同样需要通过NeGet在线安装)。
在App.xaml中,<Application.Resources>
标签内,加入如下代码块:
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Colors.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
这样就将Colors.xaml
加入全局的Resource中了。然后在运行程序,logo就显示出来了。
记得如果你的工程中有其它的Resrouce,也要一并加入<ResourceDictionary>
中。
另外,注意一下,只是在使用logo的xaml中引入Colors.xaml
是不会解决这个问题的,一定要加在全局中。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。