我目前正在开发一个包含条目列表的小应用程序。到目前为止没什么特别的。我使用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>
这些选项都没有按预期工作。根本没有过渡,条目只出现在原地。我真的不明白为什么这不起作用。有什么想法吗?
提前致谢
了Christoph
答案 0 :(得分:1)
这是一个关于EntranceThemeTransition&amp;的ItemsSource。绑定将一起应用或仅在动画之后应用。因为EntranceThemeTransition只发生一次,它认为它已经执行并禁用它。
解决方法是在代码中添加项目。请参阅以下代码:
How to make EntranceThemeTransition works on a Custom Panel & ItemsSource?
希望它有所帮助。
需要将此错误报告给内部团队。如果你知道怎么做,请做。