表现不佳的上下文菜单

时间:2012-04-11 06:13:16

标签: windows-phone-7 xaml silverlight-3.0 contextmenu

我在我的应用中显示了一个简单的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>

1 个答案:

答案 0 :(得分:1)

“缩小到背景”的问题也是在人力资源中心完成的,但这并不是那么明显。您可以使用IsZoomEnabled属性更改此设置,请参阅http://www.windowsphonegeek.com/articles/WP7-ContextMenu-in-depth--Part1-key-concepts-and-API

我注意到,与微软的实现相比,动画也非常不稳定。