Wpf-checkbox

提供:Dev Guides
移動先:案内検索

WPF-チェックボックス

チェックボックスは、ユーザーが選択(チェック)またはクリア(チェック解除)できるコントロールです。 アプリケーションに適用する設定のリストなど、ユーザーが選択できるオプションのリストを提供します。 チェックボックスクラスの階層的な継承は次のとおりです-

チェックボックスの階層

CheckBoxの一般的に使用されるプロパティ

以下に、CheckBoxの最も一般的に使用されるプロパティを示します。

Sr.No. Property & Description
1

Background

コントロールの背景を提供するブラシを取得または設定します。 (Controlから継承)

2

BorderBrush

コントロールの境界線の塗りつぶしを記述するブラシを取得または設定します。 (Controlから継承)

3

BorderThickness

コントロールの境界線の太さを取得または設定します。 (Controlから継承)

4

Content

ContentControlのコンテンツを取得または設定します。 (ContentControlから継承されます)

5

ClickMode

デバイスの動作に関して、Clickイベントがいつ発生するかを示す値を取得または設定します。 (ButtonBaseから継承)

6

ContentTemplate

ContentControlのコンテンツを表示するために使用されるデータテンプレートを取得または設定します。 (ContentControlから継承されます)

7

FontFamily

コントロール内のテキストの表示に使用されるフォントを取得または設定します。 (Controlから継承)

8

FontSize

このコントロール内のテキストのサイズを取得または設定します。 (Controlから継承)

9

FontStyle

テキストがレンダリングされるスタイルを取得または設定します。 (Controlから継承)

10

FontWeight

指定したフォントの太さを取得または設定します。 (Controlから継承)

11

Foreground

前景色を説明するブラシを取得または設定します。 (Controlから継承)

12

Height

FrameworkElementの推奨される高さを取得または設定します。 (FrameworkElementから継承されます)

13

HorizontalAlignment

FrameworkElementがパネルやアイテムコントロールなどのレイアウトの親で構成されるときにFrameworkElementに適用される水平方向の配置特性を取得または設定します。 (FrameworkElementから継承されます)

14

IsChecked

ToggleButtonがチェックされているかどうかを取得または設定します。 (ToggleButtonから継承)

15

IsEnabled

ユーザーがコントロールを操作できるかどうかを示す値を取得または設定します。 (Controlから継承)

16

IsPressed

ButtonBaseが現在押された状態にあるかどうかを示す値を取得します。 (ButtonBaseから継承)

17

IsThreeState

コントロールが3つの状態をサポートするかどうかを示す値を取得または設定します。 (ToggleButtonから継承)

18

Margin

FrameworkElementの外側のマージンを取得または設定します。 (FrameworkElementから継承されます)

19

Name

オブジェクトの識別名を取得または設定します。 XAMLプロセッサがXAMLマークアップからオブジェクトツリーを作成するとき、ランタイムコードはこの名前でXAMLで宣言されたオブジェクトを参照できます。 (FrameworkElementから継承されます)

20

Opacity

オブジェクトの不透明度を取得または設定します。 (UIElementから継承)

21

Resources

ローカルに定義されたリソースディクショナリを取得します。 XAMLでは、リソース項目をframeworkElementの子オブジェクト要素として確立できます。 XAMLの暗黙的なコレクション構文によるResourcesプロパティ要素。 (FrameworkElementから継承されます)

22

Style

レイアウトおよびレンダリング中にこのオブジェクトに適用されるインスタンススタイルを取得または設定します。 (FrameworkElementから継承されます)

23

Template

コントロールテンプレートを取得または設定します。 コントロールテンプレートは、UIのコントロールの視覚的な外観を定義し、XAMLマークアップで定義されます。 (Controlから継承)

24

VerticalAlignment

FrameworkElementがパネルや項目コントロールなどの親オブジェクトで構成されるときにFrameworkElementに適用される垂直方向の配置特性を取得または設定します。 (FrameworkElementから継承されます)

25

Visibility

UIElementの可視性を取得または設定します。 表示されないUIElementはレンダリングされず、目的のサイズをレイアウトに伝えません。 (UIElementから継承)

26

Width

FrameworkElementの幅を取得または設定します。 (FrameworkElementから継承されます)

CheckBoxの一般的に使用されるメソッド

以下に、CheckBoxの最も一般的に使用されるメソッドを示します。

Sr.No. Method & Description
1

ClearValue

依存関係プロパティのローカル値をクリアします。 (DependencyObjectから継承)

2

FindName

指定された識別子名を持つオブジェクトを取得します。 (FrameworkElementから継承されます)

3

OnApplyTemplate

アプリケーションコードまたは内部プロセス(再構築レイアウトパスなど)がApplyTemplateを呼び出すたびに呼び出されます。 最も簡単に言えば、これは、UI要素がアプリに表示される直前にメソッドが呼び出されることを意味します。 このメソッドをオーバーライドして、クラスのデフォルトのテンプレート後ロジックに影響を与えます。 (FrameworkElementから継承されます)

4

OnContentChanged

Contentプロパティの値が変更されたときに呼び出されます。 (ContentControlから継承されます)

5

OnDragEnter

DragEnterイベントが発生する前に呼び出されます。 (Controlから継承)

6

OnDragLeave

DragLeaveイベントが発生する前に呼び出されます。 (Controlから継承)

7

OnDragOver

DragOverイベントが発生する前に呼び出されます。 (Controlから継承)

8

OnDrop

Dropイベントが発生する前に呼び出されます。 (Controlから継承)

9

OnGotFocus

GotFocusイベントが発生する前に呼び出されます。 (Controlから継承)

10

OnKeyDown

KeyDownイベントが発生する前に呼び出されます。 (Controlから継承)

11

OnKeyUp

KeyUpイベントが発生する前に呼び出されます。 (Controlから継承)

12

OnLostFocus

LostFocusイベントが発生する前に呼び出されます。 (Controlから継承)

13

OnToggle

ToggleButtonがトグル刺激を受け取ると呼び出されます。 (ToggleButtonから継承)

14

SetBinding

提供されたバインディングオブジェクトを使用して、FrameworkElementにバインディングをアタッチします。 (FrameworkElementから継承されます)

CheckBoxの一般的に使用されるイベント

以下に、CheckBoxの最も一般的に使用されるイベントを示します。

Sr.No. Event & Description
1

Checked

ToggleButtonがチェックされたときに発生します。 (ToggleButtonから継承)

2

Click

ボタンコントロールがクリックされたときに発生します。 (ButtonBaseから継承)

3

DataContextChanged

FrameworkElement.DataContextプロパティの値が変更されたときに発生します。 (FrameworkElementから継承されます)

4

DragEnter

入力システムが、この要素をターゲットとして基になるドラッグイベントを報告したときに発生します。 (UIElementから継承)

5

DragLeave

入力システムが、この要素を起点として基本的なドラッグイベントを報告したときに発生します。 (UIElementから継承)

6

DragOver

入力システムが潜在的なドロップターゲットとしてこの要素を持つ基本的なドラッグイベントを報告するときに発生します。 (UIElementから継承)

7

DragStarting

ドラッグ操作が開始されたときに発生します。 (UIElementから継承)

8

GotFocus

UIElementがフォーカスを受け取ったときに発生します。 (UIElementから継承)

9

Holding

この要素のヒットテスト領域上で未処理のホールド操作が発生すると発生します。 (UIElementから継承)

10

Intermediate

ToggleButtonの状態が不確定状態に切り替えられたときに発生します。 (ToggleButtonから継承)

11

IsEnabledChanged

IsEnabledプロパティが変更されたときに発生します。 (Controlから継承)

12

KeyDown

UIElementにフォーカスがあるときにキーボードキーが押されると発生します。 (UIElementから継承)

13

KeyUp

UIElementにフォーカスがあるときにキーボードキーが離されると発生します。 (UIElementから継承)

14

LostFocus

UIElementがフォーカスを失ったときに発生します。 (UIElementから継承)

15

SizeChanged

ActualHeightまたはActualWidthプロパティがFrameworkElementの値を変更したときに発生します。 (FrameworkElementから継承されます)

16

Unchecked

ToggleButtonのチェックが解除されたときに発生します。 (ToggleButtonから継承)

  • WPFCheckBoxControl という名前の新しいWPFプロジェクトを作成しましょう。
  • ツールボックスから2つのチェックボックスと2つのテキストボックスをドラッグし、プロパティウィンドウで次のプロパティを設定します。

コントロール

物件

チェックボックス1

コンテンツ

2つの州

Name

checkBox1

90

チェックボックス2

コンテンツ

三州

Name

checkBox2

90

textbox1

Name

textBox1

300

Textbox2

Name

textBox2

300

  • 次に、チェックボックスとテキストボックスのXAMLタグが表示されるXAMLウィンドウに切り替えます。
  • 次のXAMLコードに示すように、プロパティと選択イベントをさらに追加します。
<Window x:Class = "WPFCheckBoxControl.MainWindow"
   xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation"
   xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml"
   xmlns:d = "http://schemas.microsoft.com/expression/blend/2008"
   xmlns:mc = "http://schemas.openxmlformats.org/markup-compatibility/2006"
   xmlns:local = "clr-namespace:WPFCheckBoxControl"
   mc:Ignorable = "d" Title = "MainWindow" Height = "350" Width = "604">

   <Grid>
      <CheckBox x:Name = "checkBox1" Content = "Two States" HorizontalAlignment = "Left"
         Margin = "80,70,0,0" VerticalAlignment = "Top" Checked = "HandleCheck"
         Unchecked = "HandleUnchecked" Width = "90"/>

      <CheckBox x:Name = "checkBox2" Content = "Three States"
         HorizontalAlignment = "Left" Margin = "80,134,0,0" VerticalAlignment = "Top"
         Width = "90" IsThreeState = "True" Indeterminate = "HandleThirdState"
         Checked = "HandleCheck" Unchecked = "HandleUnchecked"/>

      <TextBox x:Name = "textBox1" HorizontalAlignment = "Left"
         Height = "23" Margin = "236,68,0,0" TextWrapping = "Wrap"
         VerticalAlignment = "Top" Width = "300"/>

      <TextBox x:Name = "textBox2" HorizontalAlignment = "Left"
         Height = "23" Margin = "236,135,0,0" TextWrapping = "Wrap"
         VerticalAlignment = "Top" Width = "300"/>
   </Grid>

</Window>

以下は、さまざまなイベントのC#*での実装です-

using System.Windows;
using System.Windows.Controls;

namespace WPFCheckBoxControl {
  ///<summary>
     ///Interaction logic for MainWindow.xaml
  ///</summary>

   public partial class MainWindow : Window {

      public MainWindow() {
         InitializeComponent();
      }

      private void HandleCheck(object sender, RoutedEventArgs e) {
         CheckBox cb = sender as CheckBox;

         if (cb.Name == "checkBox1") textBox1.Text = "2 state CheckBox is checked.";
         else textBox2.Text = "3 state CheckBox is checked.";
      }

      private void HandleUnchecked(object sender, RoutedEventArgs e) {
         CheckBox cb = sender as CheckBox;

         if (cb.Name == "checkBox1") textBox1.Text = "2 state CheckBox is unchecked.";
         else textBox2.Text = "3 state CheckBox is unchecked.";
      }

      private void HandleThirdState(object sender, RoutedEventArgs e) {
         CheckBox cb = sender as CheckBox;
         textBox2.Text = "3 state CheckBox is in indeterminate state.";
      }

   }
}

上記のコードをコンパイルして実行すると、次のウィンドウが生成されます。 チェックボックスをオン/オフにすると、それに応じてテキストブロックが更新されます。

チェックボックス

上記のサンプルコードを実行し、チェックボックスコントロールの他のプロパティとイベントを試すことをお勧めします。