我希望在WPF中将枚举值作为命令参数传递,使用类似这样的内容:
<Button
x:Name="uxSearchButton"
Command="{Binding Path=SearchMembersCommand}"
CommandParameter="SearchPageType.First"
Content="Search">
</Button>
SearchPageType
是一个枚举,这是要知道从哪个按钮搜索命令被调用。
这是否可以在WPF中使用,或者如何将枚举值作为命令参数传递?
答案 0 :(得分:264)
试试这个
<Button CommandParameter="{x:Static local:SearchPageType.First}" .../>
local
- 是XAML中的namespace reference
答案 1 :(得分:160)
另请注意,如果您的枚举位于其他课程中,则需要使用+
运算符。
<Button CommandParameter="{x:Static local:MyOuterType+SearchPageType.First}".../>
答案 2 :(得分:43)
您可以使用属性元素语法而不是属性语法:
<Button x:Name="uxSearchButton"
Command="{Binding Path=SearchMembersCommand}"
Content="Search">
<Button.CommandParameter>
<SearchPageType>First</SearchPageType>
</Button.CommandParameter>
</Button>
答案 3 :(得分:28)
此外,如果您想提供[Flags
]枚举,可以使用属性元素语法:
<Button>
<Button.CommandParameter>
<SearchPageType>First,Second</SearchPageType>
<Button.CommandParameter>
</Button>