将枚举值作为来自XAML的命令parameter passing

我想要传递一个枚举值作为WPF中的命令参数,使用这样的东西:

<Button x:Name="uxSearchButton" Command="{Binding Path=SearchMembersCommand}" CommandParameter="SearchPageType.First" Content="Search"> </Button> 

SearchPageType是一个枚举,这是知道从哪个buttonsearch命令被调用。

这是可能的WPF中,或者你怎么能传递一个枚举值作为命令参数?

尝试这个

 <Button CommandParameter="{x:Static local:SearchPageType.First}" .../> 

local – 是您在XAML中的命名空间参考

另外请记住,如果你的枚举在另一个类中,你需要使用+运算符。

 <Button CommandParameter="{x:Static local:MyOuterType+SearchPageType.First}".../> 

您可以使用属性元素语法来代替属性语法:

 <Button x:Name="uxSearchButton" Command="{Binding Path=SearchMembersCommand}" Content="Search"> <Button.CommandParameter> <SearchPageType>First</SearchPageType> </Button.CommandParameter> </Button> 

另外,如果你想提供一个[ Flags ]枚举,你可以使用property元素语法:

 <Button> <Button.CommandParameter> <SearchPageType>First,Second</SearchPageType> <Button.CommandParameter> </Button>