【发布时间】:2015-03-01 00:30:28
【问题描述】:
我正在构建一个本质上是一个按钮的用户控件(WinRT 8.1 通用应用程序)。您点击按钮,它会动画,然后处理程序执行开发人员想要的任何代码,例如导航到另一个页面。
我可能做错了,但目前,我的用户控件的 Tapped 事件处理程序启动了故事板动画:
Storyboard f = new Storyboard();
f = this.Pressed_Anim;
f.Begin();
然后控件实例的 Tapped 处理程序(即在页面后面的代码上)也运行。
如果实例的处理程序导航到新页面,则永远不会看到来自控件模板代码的动画,因为页面导航发生在 UI 更新之前。我希望动画在导航之前可见,就像标准按钮一样。
我这样做对吗?
注意:by control 不是继承Button,它是从零开始作为一个学习练习的。
我怀疑情节提要代码会有所帮助,但无论如何:
<Storyboard x:Name="Pressed_Anim">
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(Grid.Row)" Storyboard.TargetName="grid">
<DiscreteObjectKeyFrame KeyTime="0">
<DiscreteObjectKeyFrame.Value>
<x:Int32>1</x:Int32>
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrame>
<DiscreteObjectKeyFrame KeyTime="0:0:0.4">
<DiscreteObjectKeyFrame.Value>
<x:Int32>0</x:Int32>
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrame>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
【问题讨论】:
标签: xaml windows-runtime win-universal-app