如何在XAML中添加来自项目属性的图标

本文关键字:项目 属性 图标 添加 XAML | 更新日期: 2023-09-27 17:49:52

嗨我想知道是否有可能访问xaml中的项目属性资源。我需要创建一个菜单项图标,所以通常我会这样做

itemCopy = new MenuItem
                           {
                               Icon = System.Drawing.Icon.FromHandle(NameSpace.Properties.Resources.iconName.GetHicon())
                           };

然而,我想直接从XAML创建相同的图标,而不使用代码隐藏。这可能是吗

如何在XAML中添加来自项目属性的图标

您需要设置相应的命名空间并执行静态引用,例如

<Window ...
    xmlns:prop="clr-namespace:Test.Properties"
    Title="{Binding Source={x:Static prop:Resources.WinTitle}}">

如果引用没有提供正确类型的对象,或者需要方法调用,则可以使用ValueConverter。

resx资源中的图标是type System.Drawing.Icon,但WPF需要ImageSource。只需将图标的构建操作更改为"Resource"(而不是"Embedded Resource"(,并在XAML中直接引用它:

<MenuItem Icon="Resources/yourIcon.ico"...