【问题标题】:UWP : Transitions not being clipped?UWP:没有剪辑过渡?
【发布时间】:2017-09-23 12:58:26
【问题描述】:

我有一个问题,我在某些控件上出现了诸如EntranceThemeTransition 之类的转换,这意味着它们以令人愉悦的方式出现。但是,这些转换似乎忽略了包含控件的常规剪辑,即 ListViewScrollViewer

这意味着我的元素在一瞬间出现在 ListView 之外,因为它们正在制作动画,但是一旦动画结束,这些元素就会尊重剪辑路径,并且每一个都很好。

基本上,我希望过渡动画尊重包含元素的剪辑,就像剪辑结束后所做的那样。不只是 ListView 有问题,FlipView 似乎也有问题。

一会儿,我会看到动画在FlipViewItem 中发生,不是当前的!我不明白这怎么可能是FlipView 中的错误。

无论如何,有没有办法让这些过渡动画尊重剪辑?在ListView 等之外看到一瞬间的动画非常难看。

【问题讨论】:

    标签: xaml uwp uwp-xaml


    【解决方案1】:

    ListView 的情况下,您不能过多地影响行为,因为这就是转换的工作方式。但是,您可以使用EntranceThemeTransitionFromHorizontalOffsetFromVerticalOffset 属性对其进行调整。

    如果是FlipView,它本身并不是一个错误。 FlipView 基本上是具有特殊行为的ScrollViewer(一次只能看到一个项目),但即使在那时项目也会预加载(尤其是前一个和下一个)。这意味着当页面加载时,FlipView 会出现,并且它的子项会被加载,您可能会看到当前显示的项目之外的过渡。要避免这种情况,您有多种选择:

    • 仅转换第一个显示项的子项
    • 仅将EntranceThemeTransition 添加到FlipView 本身
    • 使用Storyboard 或隐式动画创建自定义动画,并在翻转视图项更改时手动启动它

    【讨论】:

    • 谢谢你,我最终意外修复了。我在翻转视图上放置了一个“请稍候”窗格以显示加载进度,这似乎已经解决了这个问题。我真的不知道为什么,但我没有抱怨。
    猜你喜欢
    • 1970-01-01
    • 2014-04-03
    • 2020-04-13
    • 1970-01-01
    • 1970-01-01
    • 2016-04-21
    • 1970-01-01
    • 2012-09-05
    • 2015-12-11
    相关资源
    最近更新 更多