“ current”でWPFの列挙型にバインドするにはどうすればよいですか?値

StackOverflow https://stackoverflow.com/questions/600661

質問

単純な.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名前空間にマップする必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top