无法在WPF中找到静态引用的枚举类型。

12 浏览
0 Comments

无法在WPF中找到静态引用的枚举类型。

我正在尝试在WPF中将枚举绑定到单选按钮(受这个答案的启发),但是我难以找到转换器参数的枚举类型:

该枚举如下定义:

namespace Application.Models
{
    public class Enums
    {
        public enum MySelections { one, two ,three };
        public MySelections CurrentSelection;
        ...
    }
}

我现在正在尝试像这样绑定复选框(假定数据上下文是正确的,值转换器也已实现:)

...

...

问题在于 {x:Static models:Enums.MySelections.one},它不断抛出类型 models: Enums.MySelections 无法找到的错误。

如何找到我的枚举类型?

admin 更改状态以发布 2023年5月22日
0
0 Comments

你可以在类的外部声明它:

namespace Application.Models
{
    public enum MySelections { one, two, three };
    public  class Enums
    {
        public MySelections CurrentSelection;

然后这段xaml将会起作用:

.... ConverterParameter={x:Static models:MySelections.one}


x:Static 标记具有固定的语法:

{x:Static
prefix:typeName.staticMemberName}

0
0 Comments

在XAML中,使用“+”而不是“.”来访问嵌套类型:

{x:Static models:Enums+MySelections.one}

0