1

我目前正在开发一个使用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 的鼠标悬停动画,而无需手动将所有按钮转换为正确的格式(并且可能丢失数据) ?

问候, 赛瑟

4

1 回答 1

0

其实很简单。只需在 MetroStudio 中删除符号周围的圆圈,然后将 StaticResource 设置为按钮的“内容”。完毕 :)

问候, 赛瑟

于 2013-03-20T15:00:32.007 回答