添加或删除触发器
可以使用触发器 来开始和停止动画时间线,或者更改对象的属性。有两种触发器:
属性触发器 通过此机制,一个属性(如 IsPressed 属性)的更改会在另一个属性中触发即时 更改,或通过动画 时间线触发渐变更改。可以在控件的样式或模板中设置属性触发器。有关在常用控件的简单样式中设置属性触发器的示例,请参阅简单样式的“动手试验!”部分中的主题。
事件触发器 通过此机制,事件(如鼠标 Click 事件)将触发动画时间线。可对美工板上的任何对象、在控件的样式或模板中、在用户控件中或者在文档的根元素中设置事件触发器。有关在常用控件的简单样式中设置事件触发器的示例,请参阅简单样式的“动手试验!”部分中的主题。
有关详细信息,请参阅触发器概述。
说明: |
---|
触发器将添加到与由其操作的动画时间线相同的范围中。例如,不能在主文档的编辑范围中设置触发器以便在按钮的控件模板中开始动画时间线,即使该按钮包含在主文档中也是如此。但是,可以在控件模板中设置触发器,以便在同一个控件模板中开始动画。对于包含在已添加到文档中的用户控件内的动画而言,这同样适用。 |
添加属性触发器
在“对象和时间线”下,选择要修改其样式或模板的控件。
在“对象”菜单上,执行下列操作之一:
若要编辑控件的样式,请指向“编辑样式”,然后单击“编辑副本”。
若要编辑控件的模板,请指向“编辑控件部件(模板)”,然后单击“编辑副本”。
此时,将显示“创建样式资源”对话框。
说明: 有关样式和模板的信息以及二者的对比表,请参阅控件概述的“样式和模板”部分。
单击“确定”退出对话框,然后打开该样式或模板以供编辑。
说明: 此操作步骤已大为简化,以便专注于设置属性触发器。有关样式和模板之间的差别的详细信息,请参阅控件概述的“样式和模板”部分。有关“创建样式资源”对话框中的选项的信息,请参阅创建样式资源和创建或编辑控件模板。
在“触发器”下,可能已经为类似于“IsEnabled=True”的控件状态设置了一些属性触发器。如果未显示适合所需触发器的状态,请单击“添加属性触发器” 按钮。
将向列表中添加默认的属性触发器(“MinWidth=0”),并选定该触发器以供编辑。而且,美工板也会进入该触发器的录制模式。
单击“激活时机”下的下拉箭头,以修改将激活触发器的属性和值。例如,如果修改的是复选框控件的模板,则可以选择“target-element.IsChecked=true”,以便在选中复选框时激活触发器。
现在可以指定在激活触发器时执行的操作。
说明: 如果希望将属性从“target-element”更改为模板中某个元素的名称,则需要先在“对象和时间线”下选择该元素。
若要使某个属性在激活触发器时发生更改,只需在“对象和时间线”下选择一个对象,然后在“属性”面板中更改一个属性。这种方法之所以有效,是因为此时处于触发器的录制模式下。
所做的属性更改将显示在“活动时的属性”下。
若要在激活触发器时控制动画时间线,请单击“激活时的操作”旁边的“添加新操作” 按钮。
如果没有现有的动画时间线可供选择,则会打开“需要时间线”对话框,询问是否希望创建新时间线。单击“确定”,然后通过设置关键帧并修改对象来创建动画。
如果已有动画时间线可供选择,将显示一个下拉列表,其中包含现有时间线以及一个用于创建新时间线的选项。
该时间线将显示在“激活时的操作”下,并设置为“Begin”。
若要退出样式或模板的编辑范围,请单击“范围上移” 按钮。按 F5 运行应用程序,以便测试新触发器。
返回页首
添加事件触发器
在“对象和时间线”下,选择要在交互时将激活触发器的对象。例如,如果希望在用户的鼠标指针移到文本框上时激活触发器,请选择该文本框。
在“触发器”下,单击“添加事件触发器” 按钮。
- 将添加默认的触发器(“在引发 Window.Loaded 时”)。
单击下拉箭头以修改将激活触发器的事件。例如,如果希望在用户的鼠标指针移到文本框上时激活触发器,请将“在引发 Window.Loaded 时”更改为“在引发 textBox.MouseMove 时”。
说明: 如果希望将事件从“Window”更改为模板中某个元素的名称,则需要先在“对象和时间线”下选择该元素。
若要在激活触发器时控制动画时间线,请单击“在引发 checkBox.MouseMove 时”旁边的“添加新操作” 按钮。
如果没有现有的动画时间线可供选择,则会打开“需要时间线”对话框,询问是否希望创建新时间线。单击“确定”,然后通过设置关键帧并修改对象来创建动画。
如果已有动画时间线可供选择,将显示一个下拉列表,其中包含现有时间线以及一个用于创建新时间线的选项。
该时间线将显示在“在引发 checkBox.MouseMove 时”下,并设置为“Begin”。
按 F5 运行应用程序,以便测试新触发器。
返回页首
删除触发器
在“触发器”下,选择要删除的触发器。
说明: 如果要删除的触发器位于样式或控件模板中,请确保处于该样式或模板的编辑模式下。
单击“删除触发器” 按钮。
将从列表中删除该触发器。
返回页首