我目前正在开发一个使用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>
我查看了他们的回购,看看他们使用的是什么格式,它有点不同:
<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为我提供的格式在按钮中显示我的图标,保持圆形按钮的鼠标悬停动画,而无需手动将所有按钮转换为正确的格式(并且松动数据可能)?
此致 Xaser
答案 0 :(得分:0)
实际上这很简单。只需删除MetroStudio中符号周围的圆圈,然后将StaticResource设置为按钮的“内容”。完成:))
此致 Xaser