XAMLからコマンドパラメータとして列挙値を渡す


182

次のようなものを使用して、列挙型の値をWPFのコマンドパラメータとして渡します。

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

SearchPageType 列挙型であり、これはどのボタン検索コマンドが呼び出されたかを知るためです。

これはWPFで可能ですか、または列挙型の値をコマンドパラメーターとしてどのように渡すことができますか?

回答:


286

これを試して

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

local-あなたのある名前空間の参照 XAMLで


この名前空間my.namespaceに「MyEnum」と呼ばれる列挙型がある場合、「ローカル」を定義するにはどうすればよいですか?
Vering

172

また、列挙型が別のクラス内にある場合は、+演算子を使用する必要があることも覚えておいてください。

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

47

これには、属性構文の代わりにプロパティ要素構文を使用できます。

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

31

また、[ Flags]列挙型を提供する場合は、プロパティ要素構文を使用できます。

<Button>
  <Button.CommandParameter>
    <SearchPageType>First,Second</SearchPageType>
  <Button.CommandParameter>
</Button>
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.