【问题标题】:Windows 8 ListView - how to stop ListView animating on clickWindows 8 ListView - 如何在单击时停止 ListView 动画
【发布时间】:2013-08-27 20:09:15
【问题描述】:

我有一个当前在 xaml 中定义的 ListView 对象,如下所示:

<ListView 
            x:Name="itemListView" 
            Margin="0" 
            HorizontalContentAlignment="Left" 
            VerticalContentAlignment="Top" 
            ItemTemplate="{StaticResource FixtureItem}"
            ItemsSource="{Binding Source={StaticResource fixtureGroups}}"
            SelectionMode="None" IsSwipeEnabled="True"
            ScrollViewer.VerticalScrollBarVisibility="Auto" 
            ShowsScrollingPlaceholders="False" ManipulationMode="None">

当我在列表视图中点击一个项目时,它会做一个小反弹动画。我怎样才能阻止它这样做?

【问题讨论】:

  • 这是 Windows 应用商店应用程序、WPF 还是 Silverlight?请为您的问题添加适当的标签。

标签: xaml windows-8 windows-store-apps


【解决方案1】:

由于您使用的是 xaml,您只需将该动画从控件 Item Template 的 VisualStateManager 中的按下状态中取出。

你想要扭转这个局面;

<VisualState x:Name="Pressed">
  <Storyboard>
    <PointerDownThemeAnimation TargetName="ContentContainer" />
  </Storyboard>
</VisualState>

就这个;

<VisualState x:Name="Pressed"/>

希望这会有所帮助,干杯。

【讨论】:

  • 您可以指向我的任何链接显示如何更改按钮按下状态的视觉状态?我正在努力寻找好的例子。
  • 它们或多或少都相同。您只是在控件模板的VisualStateManager 中编辑该特定状态。一种简单的公开方法是右键单击按钮控件,选择编辑模板,在 VSM 中找到“已按下”状态,然后按照与上图相同的方式进行编辑。 Expression Blend 对于处理模板特别方便。我愿意打赌快速访问搜索引擎或 youtube 会给你一个简单的操作方法。