Button 控件样式提示
Button 控件表示一个对象,该对象会响应用户从鼠标、键盘或其他输入设备进行的输入,并引发一个 Click 事件。
与所有控件一样,您可以修改 Button 控件,使其外观与其默认外观截然不同。默认情况下,Button 控件如下所示:
重要的 Button 控件属性
Button 控件是一种内容控件,因此您可以在“属性”面板中的“公共属性”下设置“Content”属性,以在 Button 控件中显示文本。
您可以设置“ClickMode”属性以确定何时触发 Click 事件:是在单击或松开鼠标时触发还是在指针悬停在 Button 控件上时触发。
可通过下列方法设置这些属性:
设置对象的属性 在美工板上绘制 Button 对象后,您可以直接设置该对象的属性。如果希望几个 Button 控件使用相同的值,请在样式中设置这些属性。
在样式中设置属性 如果在 Button 对象的样式
中设置这些属性,则任何使用该样式的 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 控件为止。 |
![]() |
---|
状态组包含属于同一逻辑类别并且无法同时显示的可视状态。例如,“CommonStates”组包含的状态和用户与输入设备(例如鼠标)的交互相关。 一次只能显示状态组中的一种状态,但一个组中的状态可与另一个状态组中的状态同时显示。 |
当您选择状态时,状态记录功能将启用,并且将为该状态记录您进行的任何更改。若要禁用状态记录功能,请在美工板上单击记录按钮 ,或者在“状态”面板中选择“Base”。
将对象转换为 Button 控件
因为 Button 控件没有部件,所以您可以将任何对象转换为 Button 控件。
将对象组合到版式面板中,选择该版式面板,然后在“工具”菜单上,单击“构成控件”。
在出现的对话框中,选择“Button”,对模板命名,然后选择模板的存储位置。
有关位置的信息,请参阅创建资源。
单击“确定”之后,Microsoft Expression Blend 将进入模板编辑模式并显示组成 Button 控件的对象。
如果原始对象组中包括 TextBlock 对象
,则在 Button 控件模板中,TextBlock 对象会转换为 ContentPresenter 对象
。这样可以使 Button 对象显示文本。如果原始对象未包括 TextBlock 对象,则会向模板中自动添加一个 ContentPresenter 对象。如果无需在要应用该模板的 Button 对象的“Content”属性中显示文本,则可以删除 ContentPresenter 对象。
可以在此模式下继续修改模板。例如,添加或修改对象,或者在“状态”面板中选择一种状态以修改该状态下模板的外观。
请考虑将模板中对象的某些画笔属性绑定到最终将使用模板的 Button 对象的以下属性:
Background
BorderBrush
Foreground
BorderThickness
有关详细信息,请参阅在模板中使用对象属性。
若要退出模板编辑模式,请单击美工板顶部痕迹导航栏中的“[Button]”,或单击“对象和时间线”面板中的“范围上移”
。
有关向其他 Button 对象应用新的 Button 模板的信息,请参阅应用或删除资源。
引用
您可以在 MSDN 上的 Silverlight Control Gallery(Silverlight 控件库)中找到关于 Microsoft Silverlight Button 控件的属性和事件的详细信息。