Silverlight-radiobutton
Silverlight-RadioButton
*RadioButton* は、ユーザーがオプションのグループから単一のオプションを選択できるボタンです。 ユーザーは、オプションの関連リストから単一のオプションを選択できますが、これらは相互に排他的です。 それには2つのオプションしかありません-
選択済み
{ブランク}
クリアした
{ブランク}
*RadioButton* もToggleButtonから派生し、同じ *IsChecked* プロパティと同じ *Checked、Unchecked* 、および *Indeterminate* イベントを使用します。 これらに加えて、 *RadioButton* は *GroupName* という名前の単一のプロパティを追加します。これにより、ラジオボタンをグループに配置する方法を制御できます。
通常、ラジオボタンはコンテナごとにグループ化されます。 つまり、1つのStackPanelに3つのRadioButtonコントロールを配置すると、3つの中の1つだけを選択できるグループを形成します。
一方、2つの別々のStackPanelコントロールにラジオボタンの組み合わせを配置すると、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 で一般的に使用される events です。
以下は、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から継承) |
例
さまざまなボタンを含む簡単な例を見てみましょう。
<UserControl x:Class = "Buttons.MainPage"
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"
mc:Ignorable = "d"
d:DesignHeight = "300" d:DesignWidth = "400">
<StackPanel x:Name = "LayoutRoot" Background = "White">
<Button x:Name = "button" Content = "Click Me" HorizontalAlignment = "Left"
Margin = "10" VerticalAlignment = "Top" Width = "75"/>
<StackPanel>
<Border Margin = "5" Padding = "5" BorderBrush = "Yellow" BorderThickness = "1"
CornerRadius = "5">
<StackPanel>
<RadioButton Content = "Group 1"/>
<RadioButton Content = "Group 1"/>
<RadioButton Content = "Group 1"/>
<RadioButton GroupName = "Group3" Content = "Group 3"/>
</StackPanel>
</Border>
<Border Margin = "5" Padding = "5" BorderBrush = "Yellow" BorderThickness = "1"
CornerRadius = "5">
<StackPanel>
<RadioButton Content = "Group 2"/>
<RadioButton Content = "Group 2"/>
<RadioButton Content = "Group 2"/>
<RadioButton GroupName = "Group3" Content = "Group 3"/>
</StackPanel>
</Border>
</StackPanel>
<CheckBox x:Name = "checkBox1" Content = "Two States" HorizontalAlignment = "Left"
VerticalAlignment = "Top" Checked = "HandleCheck" Margin = "10,0,0,0"
Unchecked = "HandleUnchecked" Width = "90"/>
<CheckBox x:Name = "checkBox2" Content = "Three States" HorizontalAlignment = "Left"
VerticalAlignment = "Top" Width = "90" IsThreeState = "True" Margin = "10,0,0,0"
Indeterminate = "HandleThirdState" Checked = "HandleCheck"
Unchecked = "HandleUnchecked"/>
<TextBox x:Name = "textBox1" HorizontalAlignment = "Left" Margin = "10,0,0,0"
TextWrapping = "Wrap" VerticalAlignment = "Top" Width = "300"/>
<TextBox x:Name = "textBox2" HorizontalAlignment = "Left"
Margin = "10,0,0,0" Height = "23" TextWrapping = "Wrap"
VerticalAlignment = "Top" Width = "300"/>
</StackPanel>
</UserControl>
ここでは、ラジオボタンを保持する2つのコンテナがありますが、3つのグループがあります。 各グループボックスの下部にある最後のラジオボタンは、3番目のグループの一部です。 2つの状態と3つの状態のチェックボックスもあります。
以下は、*イベント実装*のC#コードです。
using System.Windows;
using System.Windows.Controls;
namespace Buttons {
public partial class MainPage : UserControl {
public MainPage() {
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.";
}
}
}
上記のコードをコンパイルして実行すると、次のWebページが表示されます。