c# - 是否可以在 winrt 中创建自定义转换? (如 ContentThemeTransition)

标签 c# xaml animation windows-runtime winrt-xaml

我想知道是否可以创建自定义过渡而不是使用标准过渡集。

特别是我希望在替换 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事件或覆盖 PrepareContainerForItemOverrideClearContainerForItemOverride在自定义 ListView 子类中设置动画。

在 Windows 10 中,大约从周年更新 (2016) 开始,您还可以使用 composition engine animations 实现转换这允许进行一些更强大的转换。

关于c# - 是否可以在 winrt 中创建自定义转换? (如 ContentThemeTransition),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25020406/

相关文章:

编译时的 C# 连接字符串

c# - Azure Function - 在 Visual Studio 2017 中为不同环境添加不同的设置文件

c# - 在 Windows 窗体中单击“确定”按钮时如何使焦点回到窗体?

c# - 绑定(bind)不适用于自定义 BindableProperty

c# - System.Windows.Control.RichTextBox 中的错误

c# - TFS 2010 API : Unable to Get IBuildServer from ProjectCollection Server

c# - WPF 命名空间的奇怪名称

c++ - 使用opengl和c++使用动画(经过一段时间后一个一个地)翻译三角形

javascript - jQuery animate() 显示错误 $(...).animate 不是一个函数

android - 在 View 上显示图像