在ListView中移动项目,如何添加动画

本文关键字:添加 动画 何添加 ListView 移动 项目 | 更新日期: 2023-09-27 18:18:30

我有一个ListView在我的Windows Phone 8.1 Runtime应用程序,它有这样的绑定:

在XAML:

<ListView ItemsSource="{Binding myBinding}" ... >

后面的代码:

this.defaultViewModel["myBinding"] = s; //s is an ObservableCollection.

我正在使用ObservableCollectionMove函数移动一些项目:

ObservableCollection<MyItem> pi = (ObservableCollection<MyItem>)this.defaultViewModel["myBinding"];
pi.Move(5,6);

移动操作正在工作,但我想给它添加动画(我想让项目实际上开始移动到彼此的位置)

我尝试将ReorderThemeTransition添加到ListView,但它不起作用。

<ListView.ItemsPanel>
    <ItemsPanelTemplate>
        <VirtualizingStackPanel>
            <VirtualizingStackPanel.ChildrenTransitions>
                <TransitionCollection>           
                    <ReorderThemeTransition/>
                </TransitionCollection>
            </VirtualizingStackPanel.ChildrenTransitions>
        </VirtualizingStackPanel>
    </ItemsPanelTemplate>
</ListView.ItemsPanel>

如何实现这样的动画到我的ListView ?

在ListView中移动项目,如何添加动画

我相信你正在寻找的代码片段是

<ListView.ItemContainerTransitions>
    <TransitionCollection>
        <AddDeleteThemeTransition/>
    </TransitionCollection>
</ListView.ItemContainerTransitions>

来源

动画其实很微妙。