代码之家  ›  专栏  ›  技术社区  ›  akjoshi HCP

将枚举值作为命令参数从xaml传递

  •  172
  • akjoshi HCP  · 技术社区  · 17 年前

    我想在wpf中传递一个枚举值作为命令参数,方法如下:

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

    SearchPageType 是枚举,这是为了知道从哪个按钮调用搜索命令。

    这在WPF中是可能的,或者如何将枚举值作为命令参数传递?

    4 回复  |  直到 10 年前
        1
  •  258
  •   akjoshi HCP    13 年前

    试试这个

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

    local 是你的 namespace reference 在XAML中

        2
  •  157
  •   akjoshi HCP    11 年前

    还请记住,如果枚举在另一个类中,则需要使用 + 操作员。

    <Button CommandParameter="{x:Static local:MyOuterType+SearchPageType.First}".../>
    
        3
  •  43
  •   Robert Macnee    17 年前

    您可以使用属性元素语法而不是属性语法:

    <Button x:Name="uxSearchButton"
            Command="{Binding Path=SearchMembersCommand}"
            Content="Search">
        <Button.CommandParameter>
            <SearchPageType>First</SearchPageType>
        </Button.CommandParameter>
    </Button>
    
        4
  •  28
  •   akjoshi HCP    10 年前

    如果您想提供[ Flags ]枚举可以使用属性元素语法:

    <Button>
      <Button.CommandParameter>
        <SearchPageType>First,Second</SearchPageType>
      <Button.CommandParameter>
    </Button>
    
    推荐文章