XAMLのStyle.Triggersで複合条件を指定したい
WPFでラジオボタンのユーザーコントロールを作っています。
このラジオボタンの外見を、IsChecked
とIsEnabled
の値に応じて変えたいです。
どちらもbool
なので、合計で4種類の外見(DataTemplate
)を定義することになると思います。
下記のコードのように、IsChecked
のみであれば、Style.Triggers
によって条件を指定し、適用するDataTemplate
を切り替えることができることは分かっています。
しかし、IsChecked
とIsEnabled
の両方を見て切り替える方法が分かりません。
<!-- 4種類の外見に対応するDataTemplateを定義 -->
<DataTemplate x:Key="UnselectedStyle"><!--略--></DataTemplate>
<DataTemplate x:Key="SelectedStyle"><!--略--></DataTemplate>
<DataTemplate x:Key="DisabledUnselectedStyle"><!--略--></DataTemplate>
<DataTemplate x:Key="DisabledSelectedStyle"><!--略--></DataTemplate>
<Style TargetType="{x:Type RadioButton}">
<!-- デフォルトの外見 -->
<Setter Property="ContentTemplate" Value="{StaticResource UnselectedStyle}"/>
<!--略-->
<!-- 条件に応じた外見 -->
<Style.Triggers>
<Trigger Property="IsChecked" Value="True"> <!-- ←ここでIsEnabled=Trueも条件に加えたい -->
<Setter Property="ContentTemplate" Value="{StaticResource SelectedStyle}"/>
</Trigger>
</Style.Triggers>
</Style>
何かご存知の方おられましたら、教えてください。