CheckBox 控件样式提示

Ee371151.0b2c798e-86c6-4ea2-a8a6-5cf1f12be1e2(ZH-CN,Expression.30).png

CheckBox 控件表示一个对象,该对象将对来自鼠标、键盘或其他输入设备的用户输入做出响应,并循环显示将引发关联事件的三种不同的状态(选中、中间状态和未选中)。

与所有控件一样,您可以修改 CheckBox 控件,使其外观与其默认外观截然不同。默认情况下,CheckBox 控件如下所示:

Ee371151.1b2a1e45-ffdd-4ac8-941a-d6625b797fd0(ZH-CN,Expression.30).png

重要的 CheckBox 控件属性

CheckBox 控件是一种内容控件,因此您可以通过在“属性”面板中的“公共属性”下设置“Content”属性,在 CheckBox 控件中显示文本。

您可以设置“ClickMode”属性来确定何时触发 Click 事件:是在单击或松开鼠标时触发,还是在指针悬停在 CheckBox 控件上时触发。

您也可以设置“IsChecked”属性以使 CheckBox 控件显示为 Checked 状态,并设置“IsThreeState”属性以使 CheckBox 控件能够使用除 Checked 和 Unchecked 状态之外的 Indeterminate 状态。

使用默认系统模板的 CheckBox 控件的选中状态

Ee371151.df888d99-f032-4084-a93e-3de14ad1c19c(ZH-CN,Expression.30).png

可通过下列方法设置这些属性:

  • 设置对象的属性   在美工板上绘制 CheckBox 对象之后,您可以直接设置该对象的属性。如果希望若干 CheckBox 控件使用相同的值,请在样式中设置这些属性。

  • 在样式中设置属性   如果在 CheckBox 对象的样式 Ee371151.94fa7fc4-4f3e-4e84-9ba1-287f1b894371(ZH-CN,Expression.30).png 中设置这些属性,则使用该样式的任何 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 控件的外观。

Ee371151.alert_tip(ZH-CN,Expression.30).gif提示:

状态组包含属于同一逻辑类别并且无法同时显示的可视状态。例如,“CommonStates”组包含的状态和用户与输入设备(例如鼠标)的交互相关。一次只能显示状态组中的一种状态,但一个组中的状态可与另一个状态组中的状态同时显示。

当您选择状态时,状态记录功能将启用,并且将为该状态记录您进行的任何更改。若要禁用状态记录功能,请在美工板上单击记录按钮 Ee371151.0dcc6415-6d4e-4fcf-a9a3-eb4664cb6cbc(ZH-CN,Expression.30).png,或者在“状态”面板中选择“Base”。若要在两个独立状态处于活动状态时修改控件的外观,您可以固定一个状态组中状态的预览,同时修改另一个状态组中的状态。

将对象转换为 CheckBox 控件

由于 CheckBox 控件没有部件,因此您可以将任何对象转换为 CheckBox 控件。

  1. 将对象组合到版式面板中,选择该版式面板,然后在“工具”菜单上,单击“构成控件”。

  2. 在出现的对话框中,选择“CheckBox”,为模板命名,并选择将在其中存储模板的位置。

    有关位置的信息,请参阅创建资源

  3. 单击“确定”之后,Microsoft Expression Blend 将进入模板编辑模式,并显示组成 CheckBox 控件的对象。

  4. 如果原始对象组中包括 TextBlock 对象 Ee371151.42165963-00f7-4a33-abcd-b0849edebada(ZH-CN,Expression.30).png,则该 TextBlock 对象在 CheckBox 控件模板中将转换为 ContentPresenter 对象 Ee371151.51a0c06c-d801-4133-8caf-cf1856a8dfc4(ZH-CN,Expression.30).png。这样,CheckBox 对象将能够显示文本。如果原始对象未包括 TextBlock 对象,则会向模板中自动添加一个 ContentPresenter 对象。如果不需要在将应用此模板的 CheckBox 对象的“Content”属性中显示文本,您可以删除 ContentPresenter 对象。

  5. 可以在此模式下继续修改模板。例如,添加或修改对象,或者在“状态”面板中选择一种状态以修改该状态下模板的外观。

  6. 考虑将模板中对象的某些画笔属性绑定到将最终使用模板的 CheckBox 对象的以下属性:

    • Background

    • BorderBrush

    • Foreground

    • BorderThickness

    有关详细信息,请参阅在模板中使用对象属性

  7. 若要退出模板编辑模式,请在美工板顶部的痕迹导航栏中单击“[CheckBox]”,或者在“对象和时间线”面板中单击“范围上移”Ee371151.55844eb3-ed98-4f20-aa66-a6f5b23eeb2b(ZH-CN,Expression.30).png

有关将新的 CheckBox 模板应用于其他 CheckBox 对象的信息,请参阅应用或删除资源

引用

您可以在 MSDN 上的 Silverlight Control Gallery(Silverlight 控件库)中找到有关 Microsoft Silverlight CheckBox 控件的属性和事件的详细信息。

另请参见

概念

常用 Silverlight 控件的样式提示

SimpleCheckBox

设置支持模板的控件的样式