Standard Controls - CheckBox

 true/false を切り替えるもっとも典型的なボタン派生のコントロールです。 チェックされているかどうかは IsChecked プロパティを調べるとわかります。

 Button コントロールから派生しているため、Command プロパティも持っています。 したがって、チェックを切り替えたときの動作は Command プロパティを用いて指定することができます。

ページ内リンク

Content プロパティ

 Content プロパティに文字列を指定することで、チェックボックスの横にテキストを表示させることができます。

<Window x:Class="WpfApplication2.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="150" Width="250">
    <StackPanel>
        <CheckBox Content="Check me!" />
    </StackPanel>
</Window>
Code 1 : Content プロパティに文字列を指定する
Fig.1 : テキストが表示される
テキスト以外にも様々なコントロールを配置させることができるのは Button コントロールと同じです。

Command プロパティ

 Command プロパティに ICommand インターフェースを実装したクラスを指定することで、 チェックボックスをクリックしたときに指定したクラスの Execute() メソッドが呼ばれるようになります。 詳しくは ICommand に関する解説ページを参照して下さい。

IsThreeState プロパティ

 IsThreeState プロパティを true にすることで、 チェックボックスとして 3 つの状態が保持できるようになります。

<CheckBox Content="Check me!" IsThreeState="True" />
Code 2 : IsThreeState プロパティの指定
Fig.2 : 3 つ目の状態にしたときのチェックボックス
このとき、IsChecked プロパティは null となっています。 実は IsChecked プロパティの型は bool ではなく bool? で、null 許容型となっているため、null を値として代入することができます。 また、コードからはいつでも IsChecked プロパティに null を代入することができるため、 CheckBox の IsThreeState プロパティが false であっても、 コードからは第 3 の状態にすることができます。 つまり、IsThreeState を false にしておくことで、 UI 操作では true/false の切り替えのみで、 別のなんらかのきっかけのときだけ第 3 の状態にする、なんてこともできます。

Designed by CSS.Design Sample