ビューモデルの値に応じて背景色を変更する約50のラベルを表示する必要があります。各ラベルは、異なるビューモデルブール値プロパティに関連付けられています。これを行うための単一のスタイルを作成するにはどうすればいいですか?50個すべてのラベルに関連付けることができるので、すべてのラベルにスタイルを宣言する必要はありません。各ラベルは異なるビューモデルブール値プロパティにバインドされるため、50個のラベルすべてに単一のスタイルおよび/またはデータトリガを適用できる方法はありますか?ビューモデルに応じて背景色を変更する50個のWPFラベルに対して1つのスタイルまたはデータトリガを作成できますかブール値
答えて
グローバルスタイルの仕組みをよく知っています。私の具体的な質問:各ラベルは異なるビューモデルブール値プロパティにバインドされるため、50個のラベルすべてに単一のスタイルまたはデータトリガを適用する方法はありますか?
いいえDataTrigger
のバインディングは、プログラムで作成しない限り動的に変更できません。
DataTrigger
のバインディングパスを動的に置き換え、残りのスタイルやテンプレートをXAMLで再利用する方法はありません。
ありがとう...私は50種類のラベルに異なるデータトリガを適用する前にこれを行う方法がないことを確認したいだけでした。 – chuckp
私はラベルのカスタムテンプレートを作成し、ラベルの背景を変更するControlTemplateトリガを追加しようとすることができると思います。上記のコード
<Style x:Key="test" TargetType="Label">
<Setter Property="BorderThickness" Value="1"></Setter>
<Setter Property="BorderBrush" Value="Black"></Setter>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<TextBlock Text="test"></TextBlock>
<ControlTemplate.Triggers>
<DataTrigger Binding="{Binding ColorValue}" Value="12">
<Setter Property="Background" Value="Aquamarine"></Setter>
</DataTrigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
だけ使用状況を表示することで、それは正確な答えではありません。
これは、50個のラベルすべてが同じビューモデルブール値プロパティにバインドされていれば、これはうまくいくと考えています..しかし...各ラベルは、それぞれのブール値プロパティにバインドされています。 – chuckp
完全にあなたの意見に同意する、しかし、私は各viewmodelが同じプロパティ名を持っていると思うが、これはうまくいくはずだ。私はそれを試してみましょう。私はプロパティを持つ基本ビューモデルを持つことができ、それぞれのビューモデルがそのラベルのプロパティを使用しているかどうかを確かめます。もしあなたがそうでなければ私に知らせてください。 –
- 1. 選択と値に応じてWPF DataGridセルの背景色を変更する
- 2. ネストされたレベルに応じて背景色を変更できますか?
- 3. Yii2 gridviewセルの背景色をその値に応じて変更します。
- 4. 背景色に応じてテキストの色を変更します/色
- 5. GXT3 - 値に応じてグリッドセルの背景色を変更する(CSSクラスなし)
- 6. WPF内容に応じてラベルの背景をイメージに設定します
- 7. 背景に応じて色を変更してください
- 8. 背景画像に応じて動的にテキストの色を変更します
- 9. ブール値に応じてラベルを変更するJavaFX
- 10. ブール値に応じて2つのコンストラクタを作成する
- 11. ラベルの背景色の色をラベル名の変数に変更する
- 12. 値に応じて背景色を薄くするJavaScript
- 13. WPFでDXTabControlの背景色を変更するには?
- 14. 値に応じてデータテーブルのセルの色を変更します
- 15. WPF変換を使用してDataGridセルの背景色を変更します。
- 16. CSS - Bootstrap Scrollspy - セクションの背景に応じて色を変更する方法
- 17. Android背景画像に応じてテキストの色を変更する方法
- 18. visタイムライングループclassNameに応じたラベルの背景色
- 19. 値に応じてデータグリッドビュー行の色を変更します。C#
- 20. マウスイベントやブール値に基づいてラベルの色を変更します
- 21. WPFエキスパンダーのヘッダーの背景色を変更します
- 22. wpfのボタンテンプレートの背景色を変更します
- 23. スタイル背景色をユーザーが選択したrgb値に変更する
- 24. クリックしたメニュー項目に応じてDIV背景イメージを変更します。
- 25. (C#WPF)テキストの背景色を変更するには?
- 26. Visual Studio 2012 WPFフォームデザイナーの背景色を変更します。
- 27. スタイルが既に設定されているときにDataGridCellの背景色を変更しますか?
- 28. D3を使用して背景に応じてテキストの色を変更します
- 29. 複数のdivの背景色を1つずつ変更してから、通常(リピート)に戻しますか?
- 30. パーセントに応じて2つの背景色を取得するには、
可能な複製http://stackoverflow.com/questions/3569974/wpf-global-style –
[WPF - グローバルスタイル?]の可能な複製(http://stackoverflow.com/questions/3569974/wpf-global-スタイル) –
私はグローバルスタイルの仕組みをよく知っています。私の具体的な質問:各ラベルは異なるビューモデルブール値プロパティにバインドされるため、50個のラベルすべてに単一のスタイルまたはデータトリガを適用する方法はありますか? – chuckp