在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>
这些选项都无法按预期工作。根本没有过渡,条目只出现在原位。我真的不明白为什么这不起作用。有什么想法吗?
提前致谢
克里斯托夫
这是 EntranceThemeTransition & ItemsSource 的一个错误。绑定将一起应用或仅在动画之后应用。因为 EntranceThemeTransition 只发生一次,所以它认为它已经执行并禁用它。
解决方法是在代码隐藏中添加项。请参阅下面的代码:
如何使EntranceThemeTransition在自定义面板和ItemsSource上工作?
希望对您有所帮助。
此错误需要报告给内部团队。如果你知道如何做,请去做。