定义用户控件的可视状态和过渡时间
当您创建自己的用户控件时,可以添加自定义状态和状态组来定义用户控件在每种状态下不同的外观。例如,如果您的用户控件代表一张扑克牌,您可能需要创建 FaceUp 和 FaceDown 状态。
注意: |
---|
在 Silverlight 项目中,当您修改系统控件(例如按钮)的模板时,已具有默认的状态组和状态。此时,无法添加新的状态组或状态。 |
定义用户控件的状态组
如果还没有用户控件,您可以在项目中创建新的用户控件,并打开 XAML 文件进行编辑。
有关详细信息,请参阅在项目中创建新用户控件。
提示: 您还可以定义有关主要文档的状态组(通常为 Page.xaml)。
“状态”面板中将显示用户控件中各对象的默认外观。无论您何时准备退出状态记录模式(例如当您准备向文档中添加更多的对象时),都可选择“Base”。
在“状态”下,单击“添加状态组”。
此时,便会添加新的状态组,并且突出显示相应的名称以便您能够输入新的名称。
您既可以直接向状态组中添加状态,也可以添加更多的状态组。
向状态组中添加状态
在“状态”下方的状态组名称的旁边,单击“添加状态”。
此时,新的状态便会添加到该状态组中,并且突出显示相应的名称以便您能够输入新的名称。
选中该状态以启用状态记录功能。这样一来,便可针对所选状态来记录文档中的对象外观所做的更改。
提示: 您在指定状态和状态组时,需要考虑用户控件所要显示的所有可视状态,然后确定不希望同时显示的状态。由于一次只能显示状态组中的一个状态,因此这些状态应列入同一状态组中。例如,下图显示的用户控件代表扑克游戏中的一张扑克牌。在此定义了以下两个状态组: MouseInteraction 和 SideDisplayed 。 MouseInteraction 状态组中包括 Click 、 MouseOver 和 Normal 的状态,这些状态不会同时显示。 SideDisplayed 状态组中包括显示牌面朝上 ( FaceUp ) 和牌面朝下 ( FaceDown ) 的状态。扑克牌的牌面可以朝上,与此同时也可以将鼠标指针移到这张牌上,因此这些状态属于不同的状态组。
设置用户控件转变状态的过渡时间
若要设置用户控件在状态组的任意两个状态之间进行转变的过渡时间,请在“默认过渡”文本框内单击,然后输入新的时间。由此,便可设置用户控件按照状态组的任意状态进行过渡所用的时间。
若要替代特定过渡的默认过渡时间,请单击状态旁边的“添加过渡”,然后从显示的列表中选择特定的过渡。下图中由鼠标指针突出显示的列表项表明“从 Click 状态转变为任何其他状态”,其中箭头与“转变方向”相对应,星号 (*) 与“任意状态”相对应。
在“过渡持续时间”文本框内单击,然后输入新的时间。
疑难解答
- 如果您在生成应用程序时遇到问题,可能是安装的 Silverlight 版本不对。有关详细信息,请参阅安装 Silverlight 工具和运行时。
后续步骤
您可以让用户控件对鼠标点击做出响应。有关详细信息,请参阅更改用户交互的响应状态。
您可以添加动画,例如当鼠标指针移到按钮上时,按钮将螺旋盘转。有关详细信息,请参阅添加状态改变后显示的动画。
您可以通过 Expression 社区网站 (此链接可能指向英文页面)上提供的“操作方式”视频教程来观看有关状态和状态组的实际应用方案。
Microsoft Corporation 版权所有 ⓒ 2011。保留所有权利。