Przekazywanie wartości wyliczeniowej jako parametru polecenia z XAML


182

Chcę przekazać wartość wyliczenia jako parametr polecenia w WPF, używając czegoś takiego:

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

SearchPageType jest wyliczeniem i ma to na celu określenie, z którego polecenia polecenia wyszukiwania jest wywoływane.

Czy jest to możliwe w WPF lub jak przekazać wartość wyliczoną jako parametr polecenia?

Odpowiedzi:



171

Pamiętaj również, że jeśli twój enum należy do innej klasy, musisz użyć +operatora.

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

46

W tym celu można użyć składni elementu właściwości zamiast składni atrybutu:

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

31

Również jeśli chcesz podać Flagswyliczenie [ ], możesz użyć składni elementu właściwości:

<Button>
  <Button.CommandParameter>
    <SearchPageType>First,Second</SearchPageType>
  <Button.CommandParameter>
</Button>
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.