|
|
1
53
我不知道如何在纯XAML中同时制作动画(淡入淡出)。但简单的淡出可以相对简单地实现。将DataTriggers替换为触发器,并删除ExitActions,因为它们在淡出场景中没有意义。这就是你将拥有的:
但是,嘿,不要放弃。如果你想同时支持这两种动画,我可以建议在XAML后面进行小代码编写。在我们完成一个技巧后,我们将通过在XAML中添加一行代码来获得您想要的东西:
每次我们换btn。“从可见到隐藏/折叠”按钮的可见性将逐渐消失。每次我们将可见性更改回原来时,按钮都会淡入。此技巧适用于任何FrameworkElement(包括ListView:)。
这里最重要的是CoerceVisibility()方法。如您所见,在淡入淡出动画完成之前,我们不允许更改此属性。 这段代码既不是线程安全的,也不是没有bug的。它的唯一目的是指明方向:)。所以,请随时改进、编辑并获得声誉;). |
|
|
2
19
您不能直接将Visibility属性用于淡入淡出,因为在其上设置触发器将首先隐藏/折叠控件,然后为其设置动画。因此,基本上您将在折叠的控件上获得动画=>没有什么。
进入行动:
退出操作:
这里有一个例子:
|
|
|
3
6
我一直在用一种稍微不同的方式来处理这个问题——我有一个雷的答案的扩展版本 this question 它为所有折叠或显示元素的内容添加了FadeIn()和FadeOut()扩展方法,然后我可以对它们调用FadeIn和FadeOut-它可以在没有任何特定动画代码的情况下处理任何元素,而不是使对象可见。
|
|
|
4
4
我意识到这个问题有点老了,但我现在才读过,我已经调整了Anvaka给出的代码。它支持绑定到可见性(仅当绑定模式设置为双向时)。它还支持淡入淡出两种不同的持续时间值。
|
|
|
5
3
这最好使用行为来完成
这是专门应用于边框的——我还没有尝试过用户控件,但我希望同样适用。 要使用它,您需要Blend Interactivity命名空间:
您还需要为行为类添加命名空间。。 |
|
|
6
2
现在很老了,但你能不能把DoubleAnimations连起来?
|
|
|
7
2
您可能希望尝试使用AutoReverse属性。..虽然我不确定它是否按你想要的方式工作。 这是我在MSDN上发现的: 当时间线的AutoReverse属性设置为true并且其RepeatBehavior属性导致其重复时,每次向前迭代后都会进行向后迭代。这就重复了一次。例如,自动反转值为true、迭代计数为2的时间线将向前播放一次,然后向后播放,然后再次向前播放,然后再向后播放。 |
|
|
mikko · SwiftUI如何在不同堆栈中实现同一视图的平滑动画 1 年前 |
|
|
user54097 · 滚动菜单项上的导航栏动画文本徽标 1 年前 |
|
|
LetsBeHappy · 高CPU的圆形渐变动画 1 年前 |
|
|
Toniq · css从上到中心设置动画 1 年前 |
|
|
Duck · 如何设置菜单从圆形到椭圆形的动画? 1 年前 |
|
MR Lappy · 提要动画最后出现空白 2 年前 |