专业人士的快速提问。我的页面中间有一个userControl。当页面被点击时,我希望使用doubleAnimation将控件停靠在页面的左侧。
此行To="{Binding Canvas.Left}“无法工作。我必须指定一个值。例如:-200,它将动画(TranslateX)向左,但对于一些屏幕,它永远不会到达页面的左边。我该怎么处理呢?另外,页面的点击事件是否是检查页面上第一次交互的正确位置,因为它应该只在用户第一次交互时发生吗?
在我后面的代码中,我希望使用类似于if(usercontrol.left > 0){storyboard.begin;}的内容。实现这一目标的最佳途径是什么?
我可能还需要放置一个From={Binding UserControl.CurrentPosition}
谢谢
<Page.Resources>
<Storyboard x:Name="EntryAnimation">
<DoubleAnimation Duration="0:0:1"
To="{Binding Canvas.Left}"
Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateX)"
Storyboard.TargetName="idcMain"
d:IsOptimized="True" />
</Storyboard>
</Page.Resources>发布于 2013-08-30 17:23:32
不使用情节提要,您可以使用系统转换(在您的情况下是RepositionTransition)。这样,您只需修改Canvas.Left属性,它就会自动动画化,使用与全局OS一致的转换时间。
https://stackoverflow.com/questions/18530665
复制相似问题