CheckBoxの状態に応じてデータバインディングを使用してスタイルを変更する

私のWPFユーザーコントロールの1つに、チェックボックスがあります。このチェックボックスがオフになっている場合は、以下を使用します。


しかし、それがチェックされていれば、私は以下を使用したいと思います:


私が望むスタイリングを使用するために、スタイルをチェックボックスコントロールにバインドする方法はありますか?

ありがとう。

1

2 答え

はい、 IsChecked にバインドして、 Binding.Converter で、スタイルのプロパティを持ち、入力値に応じてどちらかを返します。

一般的なブール値コンバータを使用することができます:


public class BooleanConverter : IValueConverter
{
    public object TrueValue { get; set; }
    public object FalseValue { get; set; }

   //In Convert cast the value to bool and return the right property
}
4
追加された

次の名前空間をxamlに追加します。      xmlns:i = "http://schemas.microsoft.com/expression/2010/interactivity"      xmlns:ei = "http://schemas.microsoft.com/expression/2010/interactions"

コントロールの既定のスタイルをStyle2に設定します。その後、  コントロールに名前を割り当て、  次のトリガーとアクションをxamlのどこかに追加します(たとえば、vf:DataSeriesタグを閉じる前)。

 
   
       
   
 
1
追加された