我在我的应用中显示了一个简单的Twitter提要,我在上下文菜单中实现了一个刷新方法。问题是显示上下文菜单表现不佳(这不是项目数量的问题,仅发生在少数几个)。似乎我需要点击/按住额外的长时间,然后出现上下文菜单 - 不是平滑动画,而是有点摇晃。 理想情况下,让它的表现更像是人们的中心,在那里你可以点击项目的即时反馈,然后上下文菜单会显示平滑的动画。
令我感到困惑的另一部分是当上下文菜单出现时,屏幕的其余部分会“缩小到背景”以引起对所选项目的注意。这似乎与性能问题有关。再次,关注这个问题的理想行为。
有关如何更好地实施此方法的任何提示?
这是我的xaml:
<!-- twitter feed-->
<controls:PivotItem Header="feed">
<ScrollViewer>
<StackPanel>
<ItemsControl ItemsSource="{Binding Tweets}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Border Padding="12">
<toolkit:ContextMenuService.ContextMenu>
<toolkit:ContextMenu >
<toolkit:MenuItem Header="refresh" Command="{Binding Main.RefreshTweetsCommand, Source={StaticResource Locator}}" />
</toolkit:ContextMenu>
</toolkit:ContextMenuService.ContextMenu>
<StackPanel Orientation="Horizontal">
<Image Source="{Binding user.profile_image_url}" Margin="0,12,0,0" Height="80" Width="80" Stretch="UniformToFill" VerticalAlignment="Top"/>
<Border Padding="12,0,0,0">
<StackPanel>
<TextBlock Text="{Binding user.name}" Foreground="Blue" FontSize="30" />
<TextBlock Text="{Binding date_created}" FontSize="16"/>
<TextBlock Text="{Binding text}" FontSize="20" TextWrapping="Wrap" Width="320" />
</StackPanel>
</Border>
</StackPanel>
</Border>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
<TextBlock Text="more . . ." FontSize="32" Padding="20">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Tap">
<cmd:EventToCommand Command="{Binding MoreTweetsCommand, Mode=OneWay}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</TextBlock>
</StackPanel>
</ScrollViewer>
</controls:PivotItem>
答案 0 :(得分:1)
“缩小到背景”的问题也是在人力资源中心完成的,但这并不是那么明显。您可以使用IsZoomEnabled属性更改此设置,请参阅http://www.windowsphonegeek.com/articles/WP7-ContextMenu-in-depth--Part1-key-concepts-and-API。
我注意到,与微软的实现相比,动画也非常不稳定。