CheckBoxをチェック・未チェック・中間の3択にしたい場合は「IsThreeStateプロパティ」を「true」にします。
サンプルコード

<CheckBox Content="チェック状態" IsThreeState="True" IsChecked="True" />
<CheckBox Content="未チェック状態" IsThreeState="True" IsChecked="False" />
<CheckBox Content="中間状態" IsThreeState="True" IsChecked="{x:Null}" />
- 「IsThreeStateプロパティ」を「true」にすると、チェックボックスを押す度に「チェック」->「中間」->「未チェック」->・・・の順で切り替わります。
- 「IsThreeStateプロパティ」を「false」にすると、チェックボックスを押す度に「チェック」->「未チェック」->・・・の順で切り替わります。
- チェック状態は「IsCheckedプロパティ」で取得・設定します。
- 「IsCheckedプロパティ」が「true」の場合が「チェック」、「false」の場合が「未チェック」、「null」の場合が「中間」です。
- 「IsThreeStateプロパティ」が「false」でも、コードで「IsCheckedプロパティ」に「null」をセットすると「中間」状態になります。
サンプルコードのダウンロード
サンプルコードの実行には Microsoft Visual Studio 2015 以上のバージョンが必要です。検証環境
- Microsoft Visual Studio Professional 2015 Version 14.0.25431.01 Update 3
- Microsoft .NET Framework Version 4.6.01055
- Microsoft Windows 7 Professional Service Pack 1 (Microsoft Windows NT 6.1 (7601))