修改不同状态的系统控件的外观
控件的外观因其所处的状态而异。例如,将鼠标指针移到按钮的上方时,按钮的颜色会略有改变。“MouseOver”是按钮的状态之一。您可以自定义不同状态的系统控件的外观。
以下过程使用了按钮,但是您可以自定义 Microsoft Expression Blend 附带的任何系统控件或从 Control 类继承的任何已导入的自定义 Microsoft Silverlight 控件。
修改不同状态的按钮的外观
创建系统控件(例如“Button”控件 )的可重用模板。
如果您尚未进入模板的编辑模式,请右键单击美工板上的控件,并指向“编辑模板”,然后单击“编辑当前模板”。可以根据情况选择对象,然后单击痕迹导航栏中的“模板”。
处在模板编辑模式下时,按钮的状态(例如 Normal 和 MouseOver )显示在“状态”面板中。这些状态包含在状态组(如“ CommonStates ”和“ FocusStates ”)中。
模板的部件显示在“对象和时间线”面板中。可以针对选定状态修改这些部件的外观。
在“状态”面板中单击“ MouseOver ”。请注意,美工板顶部会显示一个红色圆圈,告知状态记录功能处于启用状态。这意味着,系统将会针对选定的 状态记录所有属性所做的更改。在“对象和时间线”面板中,如果模板部件的属性的设置方式与选择 Base 时的方式不同,便会用带红色圆圈的展开器按钮来标识。
若要在按钮处于 MouseOver 状态时更改其大小,请在“对象和时间线”面板中单击 [Grid] 。
提示: Grid 是一种版式面板,可按照水平对齐、垂直对齐和边距来排列子对象。有关版式面板的详细信息,请参阅排列对象和使用“网格”版式面板。
在“属性”面板中的“转换”下,单击“缩放”选项卡 。将“ X ”和“ Y ”值都改为 1.1。
保存所做的工作 (Ctrl+S),然后按 F5 以生成并测试应用程序。在浏览器窗口中打开应用程序之后,可将鼠标指针移到按钮的上方以查看其是否展开。
疑难解答
某些模板部件的属性绑定到模板之外的值。例如,“ Background ”部件的“ Fill ”属性可用 模板绑定 到该按钮的“ Background ”属性。这表示,绘制使用该模板的按钮时,该模板将采用对按钮本身设置的值。使用模板绑定,不但可以设计自定义的控件,而且可以在应用程序中加入控件时后做某些更改。
在模板中,绑定属性是由黄色的范围框来标识的。如果要更改模板绑定属性,请先单击该属性旁的“高级选项”,然后单击“重置”。
不能将自定义状态和状态组添加到系统控件的模板中。但是,可以创建自定义用户控件,然后定义自定义状态并添加代码,以根据用户交互更改状态。
有关详细信息,请参阅下列主题:
如果您在浏览器中查看应用程序时遇到问题,则可能没有安装正确的 Silverlight 运行时。
有关详细信息,请参阅安装 Silverlight 工具和运行时。
后续步骤
您可以更改将鼠标指针移到按钮上方时按钮展开所需的时间。有关详细信息,请参阅修改状态更改之间的过渡时间。
您可以添加动画,例如使按钮在鼠标指针移到其上方时螺旋盘转。有关详细信息,请参阅添加状态改变后显示的动画。
您可以将此模板应用到项目中的其他按钮上,也可以绘制已指定模板的新按钮。有关详细信息,请参阅应用样式资源。
另请参阅
任务
在项目中绘制控件
修改状态更改之间的过渡时间
创建可重用模板以为系统控件设置样式
Microsoft Corporation 版权所有 ⓒ 2011。保留所有权利。