我想知道是否可以创建自定义过渡而不是使用标准过渡集。
特别是我希望在替换 ListViewItem 时有一个自定义的 AddDeleteTransition。
我想我必须从 Transition 类 ( http://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.media.animation.transition.ASPx ) 继承,但我不知道在这个类中要做什么,因为我找不到任何示例。 (我知道如何创建和使用 Storyboard和动画)
最后,我想在 xaml 中做这样的事情:
<ItemsControl.ItemContainerTransitions>
<TransitionCollection>
<mynamespace:MyCustomAddDeleteTransition/>
</TransitionCollection>
</ItemsControl.ItemContainerTransitions>
这可能吗?
提前致谢
最佳答案
在 Windows 8/8.1 中 - 不支持这样的自定义转换,但您可以编写附加行为或将 ItemsControl
子类化以使用常规 Storyboard
动画来实现。对于您的特定情况,您可以使用 ContainerContentChanging
事件或覆盖 PrepareContainerForItemOverride
和 ClearContainerForItemOverride
在自定义 ListView
子类中设置动画。
在 Windows 10 中,大约从周年更新 (2016) 开始,您还可以使用 composition engine animations 实现转换这允许进行一些更强大的转换。
关于c# - 是否可以在 winrt 中创建自定义转换? (如 ContentThemeTransition),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25020406/