Wpf-radiobutton

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

WPF-ラジオボタン

ラジオボタンは、ユーザーがオプションのグループから単一のオプションを選択できるようにするコントロールです。 ユーザーは、相互に排他的なオプションの関連リストから単一のオプションを選択できます。 それには2つのオプションしかありません-

  • 選択済み *クリアした

RadioButtonクラスの階層継承は次のとおりです-

ラジオボタンの階層

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

以下は、RadioButtonの最も一般的に使用されるプロパティです。

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では、XAMLの暗黙的なコレクション構文を使用して、frameworkElement.Resourcesプロパティ要素の子オブジェクト要素としてリソース項目を確立できます。 (FrameworkElementから継承されます)

22

Style

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

23

Template

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

24

VerticalAlignment

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

25

Visibility

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

26

Width

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

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

以下は、RadioButtonの最も一般的に使用されるメソッドです。

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から継承されます)

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

以下は、RadioButtonの最も一般的に使用されるイベントです。

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から継承)

  • WPFDialog という名前の新しいWPFプロジェクトを作成しましょう。
  • ツールボックスから5つのラジオボタンと4つのテキストブロックをドラッグし、次のXAMLコードに示すように配置します。
  • 次の例は、RadioButtonの使用方法を示しています。 RadioButtonの2つのグループを表示します。 ユーザーがオプションを選択すると、プログラムはTextBlockにメッセージを表示します。 XAMLコードは次のとおりです。
<Window x:Class = "WPFRadioButtonControl.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:WPFRadioButtonControl"
   mc:Ignorable = "d" Title = "MainWindow" Height = "350" Width = "604">

   <Grid>
      <TextBlock x:Name = "textBlock" HorizontalAlignment = "Left"
         Margin = "23,68,0,0" TextWrapping = "Wrap" Text = "Gender:"
         VerticalAlignment = "Top" Width = "83"/>

      <TextBlock x:Name = "textBlock1" HorizontalAlignment = "Left"
         Margin = "23,134,0,0" TextWrapping = "Wrap" Text = "Marital Status:"
         VerticalAlignment = "Top" Width = "83"/>

      <RadioButton x:Name = "rb1" Content = "Male" HorizontalAlignment = "Left"
         Margin = "126,68,0,0" VerticalAlignment = "Top"
         GroupName = "Gender" Width = "69" Checked = "HandleCheck"/>

      <RadioButton x:Name = "rb2" Content = "Female" HorizontalAlignment = "Left"
         Margin = "201,68,0,0" VerticalAlignment = "Top"
         GroupName = "Gender" Width = "81" Checked = "HandleCheck"/>

      <RadioButton x:Name = "rb3" Content = "Single" HorizontalAlignment = "Left"
         Margin = "126,134,0,0" VerticalAlignment = "Top"
         GroupName = "Status" Width = "69" Checked = "HandleCheck1"/>

      <RadioButton x:Name = "radioButton" Content = "Engaged" HorizontalAlignment = "Left"
         Margin = "201,134,0,0" VerticalAlignment = "Top"
         GroupName = "Status" Width = "89" Checked = "HandleCheck1"/>

      <RadioButton x:Name = "radioButton1" Content = "Married"
         GroupName = "Status" HorizontalAlignment = "Left" Margin = "302,134,0,0"
         VerticalAlignment = "Top" Width = "95" Checked = "HandleCheck1"/>

      <TextBlock x:Name = "textBlock2" HorizontalAlignment = "Left"
         Margin = "386,68,0,0" TextWrapping = "Wrap"
         VerticalAlignment = "Top" Width = "191" Height = "26"/>

      <TextBlock x:Name = "textBlock3" HorizontalAlignment = "Left"
         Margin = "386,134,0,0" TextWrapping = "Wrap"
         VerticalAlignment = "Top" Width = "146" Height = "31"/>
   </Grid>

</Window>

さまざまなイベントの* C#*での実装を次に示します。

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

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

   public partial class MainWindow : Window {

      public MainWindow() {
         InitializeComponent();
      }

      private void HandleCheck1(object sender, RoutedEventArgs e) {
         RadioButton rb = sender as RadioButton;
         textBlock3.Text = "You are " +  rb.Content;
      }

      private void HandleCheck(object sender, RoutedEventArgs e) {
         RadioButton rb = sender as RadioButton;
         textBlock2.Text = "You are " + rb.Content;
      }

   }
}

上記のコードをコンパイルして実行すると、次のウィンドウが生成されます。

ラジオボタンの出力

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