“ current”でWPFの列挙型にバインドするにはどうすればよいですか?値
-
03-07-2019 - |
質問
単純な.Net列挙型があります。 " CurrentValue"を持つビューモデルオブジェクトもあります。私の列挙型のプロパティ。このプロパティはデータバインドできます(オブジェクトはINotifyPropertyChangedを実装します)。ここで、列挙の各値に対して特定の順序で1つのUI要素を表示し、「CurrentValue」を取得したいと思います。ハイライト(太字)。宣言を次のようにしたいです:
<StackPanel Orientation="Vertical">
<ContentControl Content="{x:Static MyEnum.Value1}" />
<ContentControl Content="{x:Static MyEnum.Value2}" Margin="10" />
<ContentControl Content="{x:Static MyEnum.Value3}" />
</StackPanel>
順序を指定するために各値を個別に宣言したいのですが、いくつかの要素に特定のマージン値を持たせたいからです。また、後で各値に特定のアイコンを表示したいと思います。
今、CurrentValueに関連付けられたコントロールを太字にすることを宣言する方法がわかりません。テンプレート内で汎用DataTriggerを使用してコンテンツをCurrentValueに対してチェックしようとしましたが、トリガーの値はバインディングにできないようです。
無効なListBoxを使用することも検討しましたが、特定のアイテムに特定のマージンを設定できません。または私はできますか?
解決
サイズを試してみてください...
<ListBox>
<ListBoxItem><local:MyEnum>Value1</local:MyEnum></ListBoxItem>
<ListBoxItem Margin="10"><local:MyEnum>Value2</local:MyEnum></ListBoxItem>
<ListBoxItem><local:MyEnum>Value3</local:MyEnum></ListBoxItem>
</ListBox>
local
xmlnsをCLR名前空間にマップする必要があります。
所属していません StackOverflow