我正在尝试将枚举绑定到WPF中的单选按钮(灵感来自this answer),但我无法找到转换器参数的枚举类型:
枚举按以下方式定义
namespace Application.Models
{
public class Enums
{
public enum MySelections { one, two ,three };
public MySelections CurrentSelection;
...
}
}
我正在尝试现在绑定像这样的复选框(假设数据上下文是正确的并且实现了值转换器:)
<Window x:Class="Application.MainWindow"
....
xnlns:models="clr-namespace:Application.Models" >
...
<RadioButton Content="One"
IsChecked="{Binding Path=CurrentSelection, Converter={StaticResource EnumToBooleanConverter}, ConverterParameter={x:Static models:Enums.MySelections.one}}" />
...
问题在于{x:Static models:Enums.MySelections.one}
,它不断抛出无法找到models:Enums.MySelections
类型的错误。
如何找到我的枚举类型?
答案 0 :(得分:40)
使用“+”代替“。”在XAML中获取嵌套类型:
{x:Static models:Enums+MySelections.one}
答案 1 :(得分:14)
你可以在课堂外声明:
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:静态 前缀:typeName.staticMemberName}