wpf - 在MahApp应用程序中设置图标颜色

标签 wpf mahapps.metro

我想在MahApp应用程序中设置图标颜色,但是画笔不起作用。在此示例中,图标应为白色,但仍为黑色。

<Rectangle Width="20" Height="20">
    <Rectangle.Resources>
       <SolidColorBrush x:Key="BlackBrush" Color="White" />
    </Rectangle.Resources>
    <Rectangle.Fill>
        <VisualBrush Stretch="Fill" Visual="{StaticResource appbar_cupcake}" />
    </Rectangle.Fill>
 </Rectangle>

这是我的应用程序中的资源icons.xml文件。
<Canvas Width="48" Height="48" Clip="F1 M 0,0L 48,0L 48,48L 0,48L 0,0" x:Key="appbar_cupcake">
    <Path Width="24" Height="25" Canvas.Left="13" Canvas.Top="11" Stretch="Fill" Fill="{DynamicResource BlackBrush}" Data="F1 M 32,14C 33.1046,14 34,14.8954 34,16C 34,16.3643 33.9026,16.7058 33.7324,17L 34,17C 35.1046,17 36,17.8954 36,19C 36,20.1046 35.1046,21 34,21L 35,21C 36.1046,21 37,21.8954 37,23C 37,24.1046 36.1046,25 35,25L 15,25C 13.8954,25 13,24.1046 13,23C 13,21.8954 13.8954,21 15,21L 16,21C 14.8954,21 14,20.1046 14,19C 14,17.8954 14.8954,17 16,17L 16.2676,17C 16.0974,16.7058 16,16.3643 16,16C 16,14.8954 16.8954,14 18,14C 19,14 21,12 25,11C 29,14 31,14 32,14 Z M 15,26L 35,26L 32,36L 18,36L 15,26 Z " />
</Canvas>

我做错了什么?

最佳答案

如果要动态设置Fill颜色,可以通过设置Fill属性来实现。如您所见,您已经在使用Fill属性的VisualBrush属性。幸运的是,您还可以在VisualBrush属性中使用OpacityMask

<Rectangle Fill="Black">
    <Rectangle.OpacityMask>
        <VisualBrush Visual="{StaticResource appbar_cupcake}" Stretch="Fill" />
    </Rectangle.OpacityMask>
</Rectangle>

希望能有所帮助。

关于wpf - 在MahApp应用程序中设置图标颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20721723/

相关文章:

c# - 调整内容大小以填充窗口的 `Client Area`

c# - WPF编译错误

c# - 如何使笔刷平滑而中间没有线条

wpf - MahApps.Metro 0.13.1 : Show window commands without display the titlebar

c# - 无法设置 TabControl 的样式

c# - 如何使用 IEditableObject 对象在 WPF DataGrid 中执行单击复选框选择

c# - 神秘号码18888888888888888

wpf - 如何更改 MahApps 中所有命令按钮的前景色

c# - 在 Mahapps Metro 的输入对话框中添加密码框?

c# - MahApps Flyout Close 命令和 Is Open 未正确绑定(bind)