【问题标题】:Setting an ImageSource in XAML to PackIcon Kind?将 XAML 中的 ImageSource 设置为 PackIcon 种类?
【发布时间】:2017-10-24 08:33:08
【问题描述】:

我正在尝试组合一个功能区控件,并且我喜欢使用 MaterialDesign WPF 工具包的 IconPack 中的图标。有没有办法让我获得图标图像本身?

例如:使用网格图标,代码为<materialDesign:PackIcon Kind="Grid" />

如何将该图标分配给 ImageSource?

【问题讨论】:

  • 那些图标不是图像,它们是几何图形(所以,线条、圆圈等的集合)。
  • @XAMlMAX 您可以使用Path 来呈现它,或者只使用PackIcon,但OP 出于某种原因需要Image。提供的答案允许通过GeometryDrawing 绘制几何图形。
  • @Evk 请注意,DrawingImage 不是位图,因此不是光栅图形。 DrawingImage 是可以在 Image 元素中显示的矢量图形。
  • @XAMlMAX 注意前面的评论。
  • @XAMlMAX 完全正确。

标签: c# wpf xaml material-design-in-xaml


【解决方案1】:

您可以使用此处建议的自定义转换器:https://github.com/MahApps/MahApps.Metro.IconPacks/issues/39

<Window.Resources>
    <local:PackIconImageSourceConverter x:Key="PackIconImageSourceConverter" />
</Window.Resources>
...
<Image Source="{Binding Source={x:Static iconPacks:PackIconMaterialKind.Grid}, Converter={StaticResource PackIconImageSourceConverter}}" 
       Stretch="None" />

您可以在此处找到转换器类的代码:https://gist.github.com/Phyxion/160a6f04e6083016d4b2a3aed3c4fe71

【讨论】:

    猜你喜欢
    • 2016-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-26
    • 1970-01-01
    • 2018-06-22
    相关资源
    最近更新 更多