3. チェック状態を確認する
CheckBoxコントロールのチェック状態を確認するにはIsCheckedプロパティを参照するほかに、Clickイベント、Checkedイベント、Uncheckedイベント、Indeterminateイベントを利用して確認する方法があります。
下記にそれぞれのイベントがどのような時に発生するのかを示します。
| イベント名 | 説明 |
| Clickイベント | CheckBoxコントロールがクリックされたときに発生します。 クリックされるとIsCheckedプロパティの値が変更されます。 |
| Checkedイベント | CheckBoxコントロールがオン(IsCheckedがTrue)の時に発生します。 |
| Uncheckedイベント | CheckBoxコントロールがオン(IsCheckedがFalse)の時に発生します。 |
| Indeterminateイベント | CheckBoxコントロールがオン(IsCheckedがNull)の時に発生します。 |
下記は、Clickイベントが発生したときの状態をTextBlock1に、Checkedイベント/Uncheckedイベント/Indeterminateイベントが発生したときの状態を TextBlock2コントロールに表示する例です。

' チェック状態が変更された場合の処理
Private Sub CheckBox1_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles CheckBox1.Click
If IsNothing(CheckBox1.IsChecked) Then
TextBlock1.Text = "チェック 未確定"
ElseIf Not CheckBox1.IsChecked Then
TextBlock1.Text = "チェック オン"
Else
TextBlock1.Text = "チェック オフ"
End If
End Sub
' チェックがオンになった場合の処理
Private Sub CheckBox1_Checked(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles CheckBox1.Checked
TextBlock2.Text = "チェックがオンになりました"
End Sub
' チェックがオフになった場合の処理
Private Sub CheckBox1_Unchecked(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles CheckBox1.Unchecked
TextBlock2.Text = "チェックがオフになりました"
End Sub
' チェックが未確定になった場合の処理
Private Sub CheckBox1_Indeterminate(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles CheckBox1.Indeterminate
TextBlock2.Text = "チェックが未確定になりました"
End Sub
// チェック状態が変更された場合の処理
private void checkBox1_Click(object sender, RoutedEventArgs e)
{
if ( checkBox1.IsChecked == null)
textBlock1.Text = "チェック 未確定";
else if ( (bool)checkBox1.IsChecked )
textBlock1.Text = "チェック オン";
else
textBlock1.Text = "チェック オフ";
}
// チェックがオンになった場合の処理
private void checkBox1_Checked(object sender, RoutedEventArgs e)
{
textBlock2.Text = "チェックがオンになりました";
}
// チェックがオフになった場合の処理
private void checkBox1_Unchecked(object sender, RoutedEventArgs e)
{
textBlock2.Text = "チェックがオフになりました";
}
// チェックが未確定になった場合の処理
private void checkBox1_Indeterminate(object sender, RoutedEventArgs e)
{
textBlock2.Text = "チェックが未確定になりました";
}
チェック状態を確認するには、IsCheckedプロパティを参照する方法、Click, Checked, Unchecked, Indeterminateイベントを使用する方法がある。
4. チェックマークを右側に配置する
チェックマークをコンテント(テキスト部分)の右側に配置するにはFlowDirectionプロパティにRightToLeftを設定します。
下記はチェックマークを右側に配置する例です。

<CheckBox Content="チェックマークを右側に配置" FlowDirection="RightToLeft" />
'チェックマークを右側に配置する CheckBox1.FlowDirection = Windows.FlowDirection.RightToLeft
// チェックマークを右側に配置する checkBox1.FlowDirection = FlowDirection.RightToLeft;
チェックマークをコンテントの右側に配置するには、FlowDirectionプロパティをRightToLeftに設定する。
