我试图使用LongListSelector中的Silverlight工具包的TiltEffect.这是在XAML中声明元素的方式:
<controls:PivotItem Header="Pivot Item"> <controls:PivotItem.Resources> <DataTemplate x:Key="LongListSelectorGroupHeaderTemplate"> <Border Background="{StaticResource PhoneAccentBrush}" Margin="10,20,0" HorizontalAlignment="Left" VerticalAlignment="Center" Height="{StaticResource PhoneFontSizeExtraExtraLarge}" Width="{StaticResource PhoneFontSizeExtraExtraLarge}"> <TextBlock Text="{Binding Name}" Style="{StaticResource PhoneTextExtraLargeStyle}" Foreground="White" VerticalAlignment="Bottom" HorizontalAlignment="Left" /> </Border> </DataTemplate> <DataTemplate x:Key="LongListSelectorGroupItemTemplate"> <Border Background="{StaticResource PhoneAccentBrush}" Margin="10" Height="{StaticResource PhoneFontSizeExtraExtraLarge}" Width="{StaticResource PhoneFontSizeExtraExtraLarge}"> <TextBlock Text="{Binding Name}" Style="{StaticResource PhoneTextExtraLargeStyle}" Foreground="White" VerticalAlignment="Bottom" HorizontalAlignment="Left" /> </Border> </DataTemplate> <DataTemplate x:Key="LongListSelectorItemTemplate"> <StackPanel Grid.Column="1" VerticalAlignment="Top" Orientation="Horizontal" toolkit:TiltEffect.IsTiltEnabled="True"> <toolkit:GestureService.GestureListener> <toolkit:GestureListener Tap="OnLongListSelectorTapped" /> </toolkit:GestureService.GestureListener> <Image Source="{Binding ImageSource}" MinHeight="32" MinWidth="32" MaxHeight="48" MaxWidth="48" /> <TextBlock Text="{Binding Name}" Style="{StaticResource PhoneTextExtraLargeStyle}" Margin="12,10,12,0" /> </StackPanel> </DataTemplate> </controls:PivotItem.Resources> <toolkit:LongListSelector ItemTemplate="{StaticResource LongListSelectorItemTemplate}" GroupHeaderTemplate="{StaticResource LongListSelectorGroupHeaderTemplate}" GroupItemTemplate="{StaticResource LongListSelectorGroupItemTemplate}"> <toolkit:LongListSelector.GroupItemsPanel> <ItemsPanelTemplate> <toolkit:WrapPanel /> </ItemsPanelTemplate> </toolkit:LongListSelector.GroupItemsPanel> </toolkit:LongListSelector> </controls:PivotItem>
不幸的是,这不行.敲击物品时点击手势会触发,但动画无法播放.我已经尝试在LongListSelector,PivotItem和父页面上设置TiltEffect.IsTiltEnabled属性,但没有一个工作.
我有另一个PivotItem包含一个与ItemTemplate的一个简单的ListBox,它与上面的LongListSelectorItemTemplate非常相似.在其DataTemplate中将TiltEffect.IsTiltEnabled属性设置为true可根据需要进行工作.
在LongListSelector的情况下我做错了什么?
如果将ItemTemplate包装在ListBoxItem中,它将相应地倾斜:
<DataTemplate x:Key="LongListSelectorItemTemplate"> <ListBoxItem> <StackPanel Grid.Column="1" VerticalAlignment="Top" Orientation="Horizontal" toolkit:TiltEffect.IsTiltEnabled="True"> <toolkit:GestureService.GestureListener> <toolkit:GestureListener Tap="OnLongListSelectorTapped" /> </toolkit:GestureService.GestureListener> <Image Source="{Binding ImageSource}" MinHeight="32" MinWidth="32" MaxHeight="48" MaxWidth="48" /> <TextBlock Text="{Binding Name}" Style="{StaticResource PhoneTextExtraLargeStyle}" Margin="12,0" /> </StackPanel> </ListBoxItem> </DataTemplate>