Ik wil een enum-waarde doorgeven als opdrachtparameter in WPF, met zoiets als dit:
<Button
x:Name="uxSearchButton"
Command="{Binding Path=SearchMembersCommand}"
CommandParameter="SearchPageType.First"
Content="Search">
</Button>
SearchPageType
is een opsomming en dit is om te weten vanaf welke knop het zoekcommando wordt aangeroepen.
Is dit mogelijk in WPF, of hoe kun je een enum-waarde doorgeven als opdrachtparameter?
Antwoord 1, autoriteit 100%
Probeer dit
<Button CommandParameter="{x:Static local:SearchPageType.First}" .../>
local
– is uw naamruimtereferentiein de XAML
Antwoord 2, autoriteit 59%
Onthoud ook dat als je enum zich in een andere klasse bevindt, je de operator +
moet gebruiken.
<Button CommandParameter="{x:Static local:MyOuterType+SearchPageType.First}".../>
Antwoord 3, autoriteit 17%
U kunt hiervoor de syntaxis van eigenschapselementen gebruiken in plaats van de attribuutsyntaxis:
<Button x:Name="uxSearchButton"
Command="{Binding Path=SearchMembersCommand}"
Content="Search">
<Button.CommandParameter>
<SearchPageType>First</SearchPageType>
</Button.CommandParameter>
</Button>
Antwoord 4, autoriteit 11%
Ook als u een [Flags
]-enum wilt opgeven, kunt u de syntaxis van het eigenschapselement gebruiken:
<Button>
<Button.CommandParameter>
<SearchPageType>First,Second</SearchPageType>
<Button.CommandParameter>
</Button>