将Metro Studio 2矢量XAML与MahApps MetroCircleButton相结合

将Metro Studio 2矢量XAML与MahApps MetroCircleButton相结合,xaml,button,microsoft-metro,geometry,Xaml,Button,Microsoft Metro,Geometry,我目前正在开发一个应用程序,它使用作为WPF扩展来创建Win8 Metro样式 MahApps为按钮提供了MetroCircleButton样式,但是文档中关于如何在按钮中显示自己的矢量图形有点短。我正在使用为我的应用程序设计按钮图标,它以以下形式向我输出XAML资源代码: <Viewbox x:Key="xx"> <Grid Width="48" Height="48" Visibility="Visible"> <Grid Visibil

我目前正在开发一个应用程序,它使用作为WPF扩展来创建Win8 Metro样式

MahApps为按钮提供了MetroCircleButton样式,但是文档中关于如何在按钮中显示自己的矢量图形有点短。我正在使用为我的应用程序设计按钮图标,它以以下形式向我输出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实际上很简单。只需删除MetroStudio中符号周围的圆圈,然后将StaticResource设置为按钮的“内容”。完成:)

问候,,
Xaser

实际代码如何?那是资源字典中的视图框吗?您正在谈论的引用Key=“xx”的按钮代码在哪里?好奇的人想知道。