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是不会解决这个问题的,一定要加在全局中。


snowell
365 声望11 粉丝

全栈,跨平台


引用和评论

0 条评论