在WP8.1应用程序中使用过渡时出现问题

本文关键字:问题 WP8 应用程序 | 更新日期: 2023-09-27 18:35:13

我目前正在开发一个包含条目列表的小应用程序。到目前为止没什么特别的。我使用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>

这些选项都无法按预期工作。根本没有过渡,条目只出现在原位。我真的不明白为什么这不起作用。有什么想法吗?

提前致谢

克里斯托夫

在WP8.1应用程序中使用过渡时出现问题

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

解决方法是在代码隐藏中添加项。请参阅下面的代码:
如何使EntranceThemeTransition在自定义面板和ItemsSource上工作?

希望对您有所帮助。
此错误需要报告给内部团队。如果你知道如何做,请去做。