在WP8.1 App中使用转换的问题

时间:2014-12-25 13:28:22

标签: c# xaml windows-runtime windows-phone-8.1 transition

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

1 个答案:

答案 0 :(得分:1)

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

解决方法是在代码中添加项目。请参阅以下代码:
How to make EntranceThemeTransition works on a Custom Panel & ItemsSource?

希望它有所帮助。
需要将此错误报告给内部团队。如果你知道怎么做,请做。