【问题标题】:How to use XAML icons with Ribbon?如何在功能区中使用 XAML 图标?
【发布时间】:2015-03-11 23:27:22
【问题描述】:

我有一个功能区,当前配置如下以显示图标:

<Style x:Key="PrintMenuButton" TargetType="rib:RibbonApplicationSplitMenuItem">
    <Setter Property="ImageSource" Value="/styles/metro/print.png"/>
</Style>

我想切换到 XAML(或 SVG)矢量图标。我得到了 Syncfusion Metro Studio,它以以下格式吐出图标:

<Viewbox xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
 <Grid>
  <Grid Name="backgroundGrid" Width="256" Height="256" Visibility="Collapsed" />
  <Path Data="M19.833,0L32.5,0 32.5,19.833999 52.334,19.833999 52.334,32.500999 32.5,32.500999 32.5,52.333 19.833,52.333 19.833,32.500999 0,32.500999 0,19.833999 19.833,19.833999z" Stretch="Uniform" Fill="#FF228B22" Width="138" Height="138" Margin="0,0,0,0" RenderTransformOrigin="0.5,0.5">
<Path.RenderTransform><TransformGroup>
<TransformGroup.Children>
<RotateTransform Angle="0" />
<ScaleTransform ScaleX="1" ScaleY="1" />
</TransformGroup.Children>
</TransformGroup>
</Path.RenderTransform>
</Path>
</Grid>
</Viewbox>

但是,由于我在 XAML 方面的技能非常有限,我很难将它们混合在一起工作。

我将这个图标(Viewbox 中的所有内容)放在 ResourceDictionary 中并添加了 x:Key="MyLovelyIcon",但它不起作用,我不知道为什么。

如果有人能建议我如何将这些东西粘合在一起,我将不胜感激。谢谢。

【问题讨论】:

    标签: wpf xaml icons


    【解决方案1】:

    经过一番摸索,我得到了我想要的:

    <Style x:Key="PrintMenuButton" TargetType="rib:RibbonApplicationSplitMenuItem">
        <Setter Property="ImageSource" Value="{StaticResource XamlIcon_Misc_Print}"/>
    </Style>
    

    <DrawingImage x:Key="XamlIcon_Misc_Print">
        <DrawingImage.Drawing>
            <GeometryDrawing Brush="#FF000000" Geometry="M6.6669998,lots of digits"/>
        </DrawingImage.Drawing>
    </DrawingImage>
    

    所以基本上我取消了路径并将数据移动到几何对象。如果有人想评论何时使用一个,何时使用另一个以及它们有何不同,或者提供指向 MSDN 的链接,那就太好了。谢谢。

    【讨论】:

    • 感谢您提供此解决方案。这就是我一直在寻找的。有没有办法从样式中应用 GeometryDrawing Brush="#FF000000" 的颜色?
    • 你可以这样做:GeometryDrawing Brush="{StaticResource brBlack}" 其中 brBlack 被定义为 #FF000000 你是这个意思吗?跨度>
    • 但是如果你的意思是成熟的
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-01
    相关资源
    最近更新 更多