WPF

C#WPFの道#14!CheckBoxとIsThreeState、Indeterminateの使い方

CheckBoxとは?

CheckBox(チェックボックス)とは、ONかOFFを選択させるためのコントロールです。

チェックボックスの状態

チェックボックスの状態はIsCheckedプロパティで取得・設定できます。状態はON、OFF、Indeterminate(不確定)の三種類です。不確定はONでもOFFでもない状態であり、IsCheckedはnullとなります。

IsThreeState

IsThreeStateプロパティをTrueにしたときのみ、状態をON、OFF、Indeterminate(不確定)の3種類となり、これをFalseにした場合はONかOFFの2種類のみの選択となります。

Indeterminate(不確定)の使い道

Indeterminate(不確定)は未選択状態を表すため、確実にユーザーの意思で選択してもらいたいときに有効です。初期値をIndeterminate(不確定)にしておき、SaveにIndeterminate(不確定)の場合は、未選択ということでエラーチェックに引っ掛けることが可能です。IsThreeStateをFalseにしていてもIsCheckedの初期値にNullを設定することが可能なため、初期値のみNullとし、一度選択したら、ONかOFFのいずれかという操作をさせることが可能です。

イベント

IsCheckedの状態が変わったときに、Checked、Unchecked、Indeterminateの3つのイベントのいずれかが通知されます。

サンプルコード

IsThreeStateをTrueにすると3種類のイベントが通知されます。

画面イメージ

WPFの道!

C#プログラマーのための正しい3層構造が分かる「C#アーキテクチャー解説動画」をここで公開しています。よかったら見てみてください。

 

参考図書

C#のWPFでPrismを使ってMVVMで実装する方法