gpt4 book ai didi

c# - FluidMoveBehavior 在返回导航时触发

转载 作者:太空狗 更新时间:2023-10-29 23:48:21 25 4
gpt4 key购买 nike

我正在开发一个 Windows Phone 7 应用程序,它在我的某些列表框中使用 FluidMoveBehavior。出于某种原因,FluidMoveBehavior 动画似乎想要在不适当的时间激活。我目前在我的主页上有一个 ListBox,我使用以下 ItemsPanelTemplate,它只是一个基本的 StackPanel,附加了一个 FluidMoveBehavior:

<ItemsPanelTemplate x:Key="fancyListBoxItemsPanelTemplate"> 
<StackPanel>
<Custom:Interaction.Behaviors>
<il:FluidMoveBehavior AppliesTo="Children">
<il:FluidMoveBehavior.EaseX>
<ExponentialEase EasingMode="EaseInOut"/>
</il:FluidMoveBehavior.EaseX>
<il:FluidMoveBehavior.EaseY>
<ExponentialEase EasingMode="EaseInOut"/>
</il:FluidMoveBehavior.EaseY>
</il:FluidMoveBehavior>
</Custom:Interaction.Behaviors>
</StackPanel>
</ItemsPanelTemplate>

当我在同一屏幕上添加/删除项目时,这很好用。动画播放完美。然而,当我从我的主页导航到一个新页面,然后导航回来时,流畅的移动动画被触发,就好像所有项目都是一次添加的一样。有什么方法可以禁用此行为,以便它仅在列表实际更改时触发动画?

最佳答案

发生这种情况是因为当您导航到带有列表框的页面时,会再次创建列表框,这类似于一次添加所有项目,这在 tuns 中会触发流体移动触发器。一种可能的(可能不是合法的)解决方案是使用两个相同的 ItemPanel 模板,一个有行为,另一个没有。当您第一次导航到页面时,应用没有行为的模板。稍后将其替换为具有行为的那个。希望对您有所帮助。

关于c# - FluidMoveBehavior 在返回导航时触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4605735/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com