我在我的应用程序中显示了一个简单的 twitter 提要,并且我在上下文菜单中实现了一个刷新方法。问题是显示上下文菜单的效果很差(这与项目的数量无关,只有少数几个)。似乎我需要长时间点击/按住,然后出现上下文菜单 - 不是流畅的动画,而是有点震动。理想情况下,最好让它表现得更像人员中心,在其中有您点击该项目的即时反馈,然后上下文菜单出现在流畅的动画中。
让我感到困惑的另一部分是当上下文菜单确实出现时,屏幕的其余部分会“缩小到背景”以引起对所选项目的注意。这似乎与性能问题有关。再次,在这个问题上寻找人们的理想行为。
关于如何更好地实现这一点的任何提示?
这是我的xml:
<!-- 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>