RadioButton 控件样式提示
RadioButton 控件表示一个对象,此对象将对来自鼠标、键盘或其他输入设备的用户输入做出反应,并循环显示三种不同的状态(Checked、Indeterminate 和 Unchecked),这三种状态将引发关联的事件。
与所有控件一样,您可以修改 RadioButton 控件,使其外观与其默认外观截然不同。默认情况下,RadioButton 控件如下所示:
重要的 RadioButton 控件属性
RadioButton 控件是内容控件。因此,通过在“属性”面板中的“公共属性”下面设置“Content”属性,您可以在 RadioButton 控件中显示文本。
您可以设置“ClickMode”属性以确定何时触发 Click 事件:是在单击或松开鼠标时触发还是在指针悬停在 RadioButton 控件上时触发。
您也可以设置“IsChecked”属性以在 RadioButton 控件中显示复选标记,设置“IsThreeState”属性以使 RadioButton 控件能够使用 Indeterminate 状态以及 Checked 和 Unchecked 状态。
如果关联了多个 RadioButton 对象,则在运行的应用程序中一次只能选择一个对象。通过在“GroupName”属性中输入相同的名称,您可以关联多个 RadioButton 对象。默认情况下,所有添加到 Microsoft Expression Blend 内的美工板中的 RadioButton 对象均通过空 GroupName 属性相关联。
可通过下列方法设置这些属性:
设置对象的属性 在美工板上绘制 RadioButton 对象之后,您可以直接设置该对象的属性。如果要让若干个 RadioButtons 对象使用相同的值,则可以在样式中设置这些属性。
在样式中设置属性 如果在 RadioButton 对象的样式 中设置这些属性,则任何使用该样式的 RadioButton 对象都将使用这些值。您可以为特定对象覆盖这些值。
有关详细信息,请参阅创建样式。
RadioButton 控件的外观随其状态的变化而变化。通过在“状态”面板中选择状态,您可以在模板编辑模式下修改每种状态所对应的外观。
有关详细信息,请参阅以下列表中的状态,并参阅定义控件的不同视觉状态。
若要指定单击 RadioButton 对象时所发生的事件,请将行为拖到此 RadioButton 对象上,或者拖到 RadioButton 模板中的某个对象上。有关详细信息,请参阅向对象中添加行为。
(可选)您可以将 Click 事件挂钩到事件处理程序。有关详细信息,请参阅编写将对事件做出响应的代码。
RadioButton 模板的部件
RadioButton 控件没有部件。
RadioButton 控件的状态
默认情况下,RadioButton 控件的状态可以是“CommonStates”状态组中的以下四种状态之一,在修改 RadioButton 模板时,您可以在“状态”面板中查看这些状态:
状态名称 |
描述 |
---|---|
Normal |
RadioButton 控件没有交互时的外观。 |
MouseOver |
用户将指针移到 RadioButton 控件上时该控件的外观。 |
Pressed |
用户单击 RadioButton 控件时或当该控件具有焦点且用户按 Enter 或空格键时该控件的外观。 |
Disabled |
IsEnabled 属性设置为 False 时 RadioButton 控件的外观。 |
RadioButton 控件的状态可以是“FocusStates”状态组中的以下两种状态之一:
状态名称 |
描述 |
---|---|
Unfocused |
RadioButton 控件没有键盘焦点时的外观。 |
Focused |
RadioButton 控件具有键盘焦点时的外观。例如,用户可能会按 Tab 键循环显示应用程序中的对象,直到键盘焦点对准 RadioButton 控件为止。 |
RadioButton 控件的状态可以是“CheckStates”状态组中的以下三种状态之一:
状态名称 |
描述 |
---|---|
Unchecked |
“IsChecked”属性设置为“False”时 RadioButton 控件的外观。 |
Checked |
“IsChecked”属性设置为“True”时 RadioButton 控件的外观。 |
Indeterminate |
“IsThreeState”属性设置为“True”时 RadioButton 控件的外观。 |
提示: |
---|
状态组包含属于同一逻辑类别并且无法同时显示的可视状态。例如,“CommonStates”组包含的状态和用户与输入设备(例如鼠标)的交互相关。 一次只能显示状态组中的一种状态,但一个组中的状态可与另一个状态组中的状态同时显示。 |
当您选择状态时,状态记录功能将启用,并且将为该状态记录您进行的任何更改。若要禁用状态记录功能,请单击记录按钮 ,或者在“状态”面板中选择“Base”。若要在两个独立状态处于活动状态时修改控件的外观,您可以固定一个状态组中状态的预览,同时修改另一个状态组中的状态。
将对象转换为 RadioButton 控件
因为 RadioButton 控件没有部件,所以您可以将任何对象转换为 RadioButton 控件。
将对象组合到版式面板中,选择该版式面板,然后在“工具”菜单上,单击“构成控件”。
在出现的对话框中,选择“RadioButton”,对模板命名,然后选择模板的存储位置。
有关位置的信息,请参阅创建资源。
单击“确定”之后,Expression Blend 将进入模板编辑模式并显示组成 RadioButton 控件的对象。可以在此模式下继续修改模板。例如,添加或修改对象,或者在“状态”面板中选择一种状态以修改该状态下模板的外观。
请考虑将模板中对象的某些画笔属性绑定到最终将使用模板的 RadioButton 对象的以下属性:
Background
BorderBrush
Foreground
BorderThickness
有关详细信息,请参阅在模板中使用对象属性。
若要退出模板编辑模式,请单击美工板顶部痕迹导航栏中的“[RadioButton]”,或单击“对象和时间线”面板中的“范围上移”。
有关向其他 RadioButton 对象应用新的 RadioButton 模板的信息,请参阅应用或删除资源。
引用
您可以在 MSDN 上的 Silverlight Control Gallery(Silverlight 控件库)中找到关于 Microsoft Silverlight RadioButton 控件的属性和事件的详细信息。