具有项目点击动画的长列表选择器

时间:2014-03-28 07:43:23

标签: c# wpf silverlight windows-phone-8 windows-phone

我在Windows Phone 8工作,我有很长的列表选择器,里面有很少的项目。当我点击我需要添加一些动画的项目时,移动文本然后回来。如何实现这个?我也试图将相同的内容应用于列表框。

我试过这个:

<Style x:Key="LongListSelectorStyle1" TargetType="phone:LongListSelector">
            <Setter Property="Background" Value="Transparent"/>
            <Setter Property="Foreground" Value="{StaticResource PhoneForegroundBrush}"/>
            <Setter Property="ItemTemplate">
                <Setter.Value>
                    <DataTemplate>
                        <UserControl>
                            <Border x:Name="MyBorder" Background="Transparent">
                                <VisualStateManager.VisualStateGroups  >
                                    <VisualStateGroup x:Name="CommonStates">
                                        <VisualState x:Name="Normal" />
                                        <VisualState x:Name="Selected">
                                            <Storyboard>
                                                <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(Panel.Background)" Storyboard.TargetName="MyBorder">
                                                    <DiscreteObjectKeyFrame KeyTime="0" Value="#000000"/>
                                                </ObjectAnimationUsingKeyFrames>
                                            </Storyboard>
                                        </VisualState>
                                    </VisualStateGroup>
                                </VisualStateManager.VisualStateGroups>
                            </Border>
                        </UserControl>
                    </DataTemplate>
                </Setter.Value>
            </Setter>
        </Style>

但它不起作用。

以下是示例截图

enter image description here

我怎样才能实现这个目标?

1 个答案:

答案 0 :(得分:5)

我会尝试使用WPToolkit,其中有一个选项,当您按下ListBox或LongListSelector中的项目时,可以应用“倾斜”动画。很酷。首先,您需要通过Visual Studio https://www.nuget.org/packages/WPtoolkit/4.2013.8.16中的NuGet获取工具包(该站点的链接,但您使用Visual Studio本身内的程序包管理器控制台添加它,它会自动设置所有内容)。检查此链接http://www.davidsalter.com/2013/09/using-windows-phone-toolkit-in-wp8.html,一旦拥有它,在标签中,您声明了ListBox或LongListSelector本身,插入以下内容

`<ListBox ... toolkit:TiltEffect.IsTiltEnabled="True" ../>

这应该有用。