SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Silverlight/WPFで使える逆引きTips集

Silverlight/WPFで使える逆引きTips集
――ラジオボタンとチェックボックス機能

(3) RadioButtonコントロールとCheckBoxコントロール

ダウンロード WPF_VB.zip (1.6 MB)
ダウンロード WPF_CS.zip (707.4 KB)
ダウンロード Silverlight_VB.zip (4.8 MB)
ダウンロード Silverlight_CS.zip (4.7 MB)

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コントロールに表示する例です。

チェック状態を確認する例
チェック状態を確認する例
VBの例
' チェック状態が変更された場合の処理
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

C#の例
// チェック状態が変更された場合の処理
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を設定します。

 下記はチェックマークを右側に配置する例です。

チェックマークを右側に配置する例
チェックマークを右側に配置する例
XAMLの例
<CheckBox Content="チェックマークを右側に配置" FlowDirection="RightToLeft" />
VBの例
'チェックマークを右側に配置する
CheckBox1.FlowDirection = Windows.FlowDirection.RightToLeft
C#の例
// チェックマークを右側に配置する
checkBox1.FlowDirection = FlowDirection.RightToLeft;
ポイント

 チェックマークをコンテントの右側に配置するには、FlowDirectionプロパティをRightToLeftに設定する。

次のページ
5. コンテントにイメージを使用する

この記事は参考になりましたか?

Silverlight/WPFで使える逆引きTips集連載記事一覧

もっと読む

この記事の著者

HIRO(ヒロ)

HIRO's.NETのHIROです。とある半導体工場のSEです。VB.NET, C#, PowerShellによるプログラミングを楽しんでいます。最近はBlog でPowerShellについて書いています。2008/07/07にPowerShell from Japan!!というサイトを立ち上げまし...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/5507 2010/10/22 14:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー