Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 主题转换的完成处理程序_C#_Uwp_Uwp Xaml - Fatal编程技术网

C# 主题转换的完成处理程序

C# 主题转换的完成处理程序,c#,uwp,uwp-xaml,C#,Uwp,Uwp Xaml,默认的UWPListView样式在其ItemContainerTransitionsTransitionCollection中包含一些主题转换。有没有办法知道给定主题转换的转换动画何时完成 例如,我有一个ListView和一个附带的按钮,用于将项目添加到列表中。我想在添加项目时禁用该按钮,因为如果另一个项目在添加过程中排队,动画将被取消。我可以根据按钮点击事件轻松禁用按钮,但我需要知道何时可以重新启用它 我的选择似乎是: 1) 等待任务。延迟一个adddeletetethemetransitio

默认的UWP
ListView
样式在其
ItemContainerTransitions
TransitionCollection
中包含一些主题转换。有没有办法知道给定主题转换的转换动画何时完成

例如,我有一个
ListView
和一个附带的按钮,用于将项目添加到列表中。我想在添加项目时禁用该按钮,因为如果另一个项目在添加过程中排队,动画将被取消。我可以根据按钮
点击事件轻松禁用按钮,但我需要知道何时可以重新启用它

我的选择似乎是:

1) 等待
任务。延迟
一个
adddeletetethemetransition
所需的时间。看起来很粗糙

2) 尝试使用
情节提要
动画模拟
adddeletetethemetransition
。我有这个工作,但似乎有点过头了。也可以使用构图,但在我看来,构图甚至比故事板动画更过分


顺便说一句,我还没有看到任何人实现自己的
转换
(即从
转换
类继承)。这可能与此无关,但它是否可行呢?

如果您有受支持的SDK,那么使用组合的第二个想法实际上是最好的。您想要使用的是在元素或ItemsPanel上定义的隐式动画,因为没有合适的方法来判断动画何时完成

ElementCompositionPreview.SetImplicitShowAnimation
ElementCompositionPreview.setImplicitIdeAnimation
支持您设置隐式合成动画以添加/删除到可视化树中,并将避免一个动画取消另一个动画的踩踏问题,而且比使用故事板更有效


您也不能实现自己的“转换”,因为类本身完全不公开任何内容,但现在使用合成动画就没有必要了-合成功能更强大。

AddDeleteThemeTransition类中没有属性,我们无法知道更改的值。它也没有任何事件,似乎我们不知道它何时结束。