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