Jer*_*ell 5 c# silverlight mobile xaml windows-phone-7
我正在开发一个Windows Phone 7应用程序,它在我的一些ListBox中使用FluidMoveBehavior.出于某种原因,FluidMoveBehavior动画似乎想要在不适当的时间激活.我目前在我的主页面上有一个ListBox,我使用以下ItemsPanelTemplate,它只是一个附有FluidMoveBehavior的基本StackPanel:
<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>
Run Code Online (Sandbox Code Playgroud)
当我在同一屏幕上添加/删除项目时,此工作正常.动画播放完美.但是,当我从主页面导航到新页面,然后向后导航时,将触发流畅的移动动画,就像所有项目一次添加一样.有没有办法禁用此行为,所以它只在列表实际更改时触发动画?
发生这种情况是因为当您导航到带有列表框的页面时,会再次创建列表框,这类似于一次添加所有项目,这会触发流体移动触发器。一种可能的(可能不是合法的)解决方案是拥有两个相同的 ItemPanel 模板,一个具有行为,另一个不具有行为。当您第一次导航到该页面时,应用不带行为的模板。稍后将其替换为具有行为的那个。希望有帮助。
| 归档时间: |
|
| 查看次数: |
699 次 |
| 最近记录: |