Button 控件样式提示

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

Button 控件表示一个对象,该对象会响应用户从鼠标、键盘或其他输入设备进行的输入,并引发一个 Click 事件。

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

Ee341364.c01e5314-5b29-4283-a483-b0a1cb3b59f6(ZH-CN,Expression.30).png

重要的 Button 控件属性

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

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

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

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

  • 在样式中设置属性 如果在 Button 对象的样式 Ee341364.94fa7fc4-4f3e-4e84-9ba1-287f1b894371(ZH-CN,Expression.30).png 中设置这些属性,则任何使用该样式的 Button 对象都将使用这些值。您可以为特定对象覆盖这些值。

    有关详细信息,请参阅创建样式

Button 控件的外观随其状态的变化而变化。通过在“状态”面板中选择状态,您可以在模板编辑模式下修改每种状态所对应的外观。有关详细信息,请参阅下表中列出的状态,并参阅定义控件的不同视觉状态

若要指定单击 Button 控件时所发生的事件,请将行为拖到此 Button 对象上,或者拖到 Button 模板中的某个对象上。有关详细信息,请参阅向对象中添加行为

(可选)您可以将 Click 事件挂钩到事件处理程序。有关详细信息,请参阅编写将对事件做出响应的代码

Button 模板的部件

Button 控件没有部件。

Button 控件的状态

默认情况下,Button 控件的状态可以是“CommonStates”状态组中的以下四种状态之一,在修改 Button 模板时,您可以在“状态”面板中查看这些状态:

状态名称

描述

Normal

Button 控件没有交互时的外观。

MouseOver

用户将指针移到 Button 控件上时该控件的外观。

Pressed

用户单击 Button 控件时或当该控件具有焦点且用户按 Enter 或空格键时该控件的外观。

Disabled

IsEnabled 属性设置为 False 时 Button 控件的外观。

Button 控件的状态也可以是“FocusStates”状态组中的以下两种状态之一:

状态名称

描述

Unfocused

Button 控件没有键盘焦点时的外观。

Focused

Button 控件具有键盘焦点时的外观。例如,用户可能会按 Tab 键循环显示应用程序中的对象,直到键盘焦点对准 Button 控件为止。

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

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

当您选择状态时,状态记录功能将启用,并且将为该状态记录您进行的任何更改。若要禁用状态记录功能,请在美工板上单击记录按钮 Ee341364.0dcc6415-6d4e-4fcf-a9a3-eb4664cb6cbc(ZH-CN,Expression.30).png,或者在“状态”面板中选择“Base”。

将对象转换为 Button 控件

因为 Button 控件没有部件,所以您可以将任何对象转换为 Button 控件。

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

  2. 在出现的对话框中,选择“Button”,对模板命名,然后选择模板的存储位置。

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

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

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

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

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

    • Background

    • BorderBrush

    • Foreground

    • BorderThickness

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

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

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

引用

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

另请参见

任务

从现有对象创建控件

概念

常用 Silverlight 控件的样式提示

SimpleButton

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