EntranceThemeTransition

EntranceThemeTransition

我目前正在开发一个包含条目列表的小应用程序。到目前为止没有什么特别的。我使用ListView显示条目并添加入口过渡。以下清单显示了到目前为止的xaml(按预期工作):

<ListView ItemsSource="{Binding Menu}">
  <ListView.ItemContainerTransitions>
    <TransitionCollection>
      <EntranceThemeTransition FromVerticalOffset="100"/>
    </TransitionCollection>
  </ListView.ItemContainerTransitions>
</ListView>


到目前为止很容易,但是当我尝试替换默认的ItemsPanelTemplate时,过渡不再起作用。我尝试了以下变体,但没有成功:

<!--option 1-->
<ListView ItemsSource="{Binding Menu}">
    <ListView.ItemContainerTransitions>
        <TransitionCollection>
            <EntranceThemeTransition FromVerticalOffset="100"/>
        </TransitionCollection>
    </ListView.ItemContainerTransitions>
    <ListView.ItemsPanel>
        <ItemsPanelTemplate>
            <VirtualizingStackPanel/>
        </ItemsPanelTemplate>
    </ListView.ItemsPanel>
</ListView>

<!--option 2-->
<ListView ItemsSource="{Binding Menu}">
    <ListView.ItemsPanel>
        <ItemsPanelTemplate>
            <VirtualizingStackPanel>
                <VirtualizingStackPanel.ChildrenTransitions>
                    <TransitionCollection>
                        <EntranceThemeTransition FromVerticalOffset="100"/>
                    </TransitionCollection>
                </VirtualizingStackPanel.ChildrenTransitions>
            </VirtualizingStackPanel>
        </ItemsPanelTemplate>
    </ListView.ItemsPanel>
</ListView>

<!--option 3-->
<ListView ItemsSource="{Binding Menu}">
    <ListView.ItemContainerTransitions>
        <TransitionCollection>
            <EntranceThemeTransition FromVerticalOffset="100"/>
        </TransitionCollection>
    </ListView.ItemContainerTransitions>
    <ListView.ItemsPanel>
        <ItemsPanelTemplate>
            <VirtualizingStackPanel>
                <VirtualizingStackPanel.ChildrenTransitions>
                    <TransitionCollection>
                        <EntranceThemeTransition FromVerticalOffset="100"/>
                    </TransitionCollection>
                </VirtualizingStackPanel.ChildrenTransitions>
            </VirtualizingStackPanel>
        </ItemsPanelTemplate>
    </ListView.ItemsPanel>
</ListView>


这些选项均无法按预期工作。根本就没有过渡,条目仅显示在适当的位置。我真的不明白为什么这行不通。有任何想法吗?

提前致谢

克里斯多夫

最佳答案

这是EntranceThemeTransition&ItemsSource的错误。绑定将一起应用或在动画之后应用。由于EntranceThemeTransition仅发生一次,因此认为它已经执行并禁用它。

一种解决方法是在后面的代码中添加项目。参见下面的代码:
How to make EntranceThemeTransition works on a Custom Panel & ItemsSource?

希望能帮助到你。
该错误需要报告给内部团队。如果您知道该怎么做,请执行此操作。

08-25 15:53