我目前正在开发一个使用MahApps作为 WPF 扩展来创建 Win8 Metro 风格的应用程序。
MahApps 具有用于按钮的 MetroCircleButton 样式,但是关于如何在按钮中显示自己的矢量图形的文档有点短。我正在使用Metro Studio 2为我的应用程序设计按钮图标,它以以下形式向我输出 XAML 资源代码:
<Viewbox x:Key="xx">
<Grid Width="48" Height="48" Visibility="Visible">
<Grid Visibility="Visible">
<Rectangle Fill="#FF000000" Visibility="Visible" />
<Ellipse Fill="#FF000000" Visibility="Collapsed" />
<Path Data="..." Stretch="Fill" Fill="#FF000000" Visibility="Collapsed" />
</Grid>
<Path Data=".." Stretch="Uniform" Fill="#FFFFFFFF" Width="26" Height="26" Margin="0,0,0,0" />
</Grid>
</Viewbox>
到目前为止,一切都很好。然而 MahApps 建议使用 VisualBrush 来显示自己的矢量图形:
<Rectangle Fill="Black">
<Rectangle.OpacityMask>
<VisualBrush Visual="{StaticResource appbar_add}" Stretch="Fill" />
</Rectangle.OpacityMask>
我查看了他们的 repo 以查看他们使用的格式,它有点不同:
<Canvas Width="48.0067" Height="48.0067" Clip="F1 M 0,0L 48.0067,0L 48.0067,48.0067L 0,48.0067L 0,0" x:Key="appbar_alien">
<Path Width="22.005" Height="16.0048" Canvas.Left="12.9999" Canvas.Top="16.9998" Stretch="Fill" Fill="{DynamicResource BlackBrush}" Data="..." />
</Canvas>
现在我的问题是:我能否以某种方式使用 Metro Studio 给我的格式让我的图标显示在按钮中,保持 circlebutton 的鼠标悬停动画,而无需手动将所有按钮转换为正确的格式(并且可能丢失数据) ?
问候, 赛瑟