RadioButton コントロールのスタイル処理のヒント
RadioButton コントロールは、ユーザーがマウスやキーボードなどの入力デバイスを使って行う操作に反応するオブジェクトです。3 つの状態 (オン、オフ、不定) が切り替わり、それぞれに関連付けられているイベントを起動します。
他のコントロールと同様に、RadioButton コントロールも既定の外観を変更できます。既定の RadioButton コントロールは、次のように表示されます。
RadioButton コントロールのプロパティ
RadioButton コントロールは、コンテンツ コントロールです。そのため、RadioButton コントロールに表示するテキストは、[プロパティ] パネルの [共通プロパティ] にある [Content] プロパティで設定します。
いつ Click イベントを起動するか (RadioButton コントロールをクリックして選択したときや選択解除したとき、ポインターをその上に置いたとき) を決めるには、[ClickMode] プロパティを設定します。
また、[IsChecked] プロパティを設定すると、RadioButton コントロールがオンになって表示され、[IsThreeState] プロパティを設定すると、オンとオフだけでなく、不定の状態を取れるようになります。
複数の RadioButton オブジェクトを関連付けている場合は、アプリケーションの実行時に 1 つしか選択できません。複数の RadioButton オブジェクトを関連付けるには、それぞれの [GroupName] プロパティに同じ名前を入力します。既定では、Microsoft Expression Blend のアートボードに追加したすべての RadioButton オブジェクトが関連付けられ、その GroupName プロパティが空になっています。
これらのプロパティを設定するには、次の方法があります。
オブジェクトのプロパティを設定する アートボードに RadioButton オブジェクトを描いた後で、そのプロパティを直接設定します。複数の RadioButtons オブジェクトで同じ値を使用する場合は、これらのプロパティをスタイルとして設定します。
プロパティをスタイルとして設定する RadioButton オブジェクトのプロパティをスタイル として設定すると、このスタイルを使用するすべての RadioButton オブジェクトのプロパティが同じ値になります。特定のオブジェクトの値を上書きすることもできます。
詳細については、「スタイルの作成」を参照してください。
RadioButton は、どの状態になっているかによって外観が変わります。各状態の外観を変更するには、テンプレート編集モードにして、[状態] パネルで状態を選択します。
詳細については、下の表と「コントロール用ビジュアル状態の定義」を参照してください。
RadioButton オブジェクトがクリックされたときに何が起こるかを指定するには、ビヘイビアーを RadioButton オブジェクトか、RadioButton テンプレートにあるオブジェクトにドラッグします。詳細については、「ビヘイビアーをオブジェクトに追加」を参照してください。
オプションで、Click イベントをイベント ハンドラーにフックすることができます。詳細については、「イベントに応答するコードを記述」を参照してください。
RadioButton テンプレートのパーツ
RadioButton コントロールには、パーツがありません。
RadioButton テンプレートの状態
既定では、RadioButton コントロールは、次の表にある [CommonStates] 状態グループの 4 つの状態のいずれかになります。これらの状態は、RadioButton テンプレートを変更するときに、[状態] パネルで見ることができます。
状態名 |
説明 |
---|---|
Normal |
RadioButton コントロールに対してユーザーが何も行わず、単に表示されているだけの状態。 |
MouseOver |
ユーザーが RadioButton コントロールの上にポインターを動かしたときの状態。 |
Pressed |
ユーザーが RadioButton コントロールをクリックしたか、RadioButton コントロールがフォーカスされているときに Enter キーまたはスペース バーを押したときの状態。 |
Disabled |
IsEnabled プロパティを False に設定したときの状態。 |
RadioButton コントロールは、次の [FocusStates] 状態グループに属する状態のいずれかになることができます。
状態名 |
説明 |
---|---|
Unfocused |
RadioButton コントロールがキーボードでフォーカスされていないときの状態。 |
Focused |
RadioButton コントロールがキーボードでフォーカスされたときの状態。たとえば、アプリケーション内でユーザーが Tab キーを押してフォーカスを切り替えていき、RadioButton コントロールにフォーカスが移った場合が相当します。 |
RadioButton コントロールは、次の [CheckStates] 状態グループにある 3 つの状態の 1 つになることができます。
状態名 |
説明 |
---|---|
Unchecked |
RadioButton コントロールの [IsChecked] プロパティを [False] に設定したときの状態。 |
Checked |
RadioButton コントロールの [IsChecked] プロパティを [True] に設定したときの状態。 |
Indeterminate |
RadioButton コントロールの [IsThreeState] プロパティを [True] に設定したときの状態。 |
ヒント : |
---|
状態グループは、コントロールの表示状態を論理的に分類したものです。1 つのグループに属する複数の状態を同時に表示することはできません。たとえば、[CommonStates] グループには、ユーザーがマウスなどの入力デバイスで行う操作に関係のある状態が含まれています。1 つのグループ内で一度に表示できる状態は 1 つだけですが、別々のグループに属する状態を同時に表示することはできます。 |
状態を 1 つ選択すると、その状態の変更の記録が開始されます。状態の記録を無効にするには、記録ボタン をクリックするか、[状態] パネルで [ベース] を選択します。2 つの状態がアクティブになったときのコントロールの外観を変更するには、1 つのグループに属する状態のプレビューを固定しておき、別のグループに属する状態を変更します。
オブジェクトを RadioButton コントロールに変換するには
RadioButton コントロールにはパーツがないので、どのようなオブジェクトでも RadioButton コントロールに変換できます。
まず、オブジェクトをグループにまとめてレイアウト パネルに配置します。そのレイアウト パネルを選択し、[ツール] メニューの [コントロールの作成] をクリックします。
表示されたダイアログ ボックスで [RadioButton] を選択してテンプレートに名前を付け、テンプレートの保存場所を選択します。
保存場所については、「リソースの作成」を参照してください。
[OK] をクリックすると、Expression Blend がテンプレート編集モードになり、RadioButton コントロールを構成しているオブジェクトが表示されます。このモードで、テンプレートの変更を続けます。たとえば、オブジェクトの追加や変更を行ったり、[状態] パネルで状態を選択して、この状態のテンプレートの外観を変更したりできます。
必要に応じて、このテンプレートを使うことになる RadioButton オブジェクトの次のプロパティと、オブジェクトのブラシ プロパティをバインドします。
Background
BorderBrush
Foreground
BorderThickness
詳細については、「オブジェクト プロパティをテンプレートに反映させる」を参照してください。
テンプレート編集モードを終了するには、アートボードの上端にある階層リンク バーの [RadioButton] をクリックするか、[オブジェクトとタイムライン] パネルの [Scope Up] をクリックします。
新しく作成した RadioButton テンプレートを別の RadioButton オブジェクトに適用する方法については、「リソースの適用と削除」を参照してください。
参照
Microsoft Silverlight の RadioButton コントロールのプロパティとイベントの詳細については、MSDN の「Silverlight Control Gallery (Silverlight のコントロール ギャラリー)」を参照してください。