首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WinRT DoubleAnimation to Canvas.Left

WinRT DoubleAnimation to Canvas.Left
EN

Stack Overflow用户
提问于 2013-08-30 10:26:18
回答 1查看 274关注 0票数 0

专业人士的快速提问。我的页面中间有一个userControl。当页面被点击时,我希望使用doubleAnimation将控件停靠在页面的左侧。

此行To="{Binding Canvas.Left}“无法工作。我必须指定一个值。例如:-200,它将动画(TranslateX)向左,但对于一些屏幕,它永远不会到达页面的左边。我该怎么处理呢?另外,页面的点击事件是否是检查页面上第一次交互的正确位置,因为它应该只在用户第一次交互时发生吗?

在我后面的代码中,我希望使用类似于if(usercontrol.left > 0){storyboard.begin;}的内容。实现这一目标的最佳途径是什么?

我可能还需要放置一个From={Binding UserControl.CurrentPosition}

谢谢

代码语言:javascript
复制
<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>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-30 17:23:32

不使用情节提要,您可以使用系统转换(在您的情况下是RepositionTransition)。这样,您只需修改Canvas.Left属性,它就会自动动画化,使用与全局OS一致的转换时间。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18530665

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档