0

我尝试使用“ContextMenu.IsOpen()”方法从应用程序栏中打开 ContextMenu,该方法将在事件“ApplicationBarIconButton_Click”上运行。在第一次单击按钮时,您会看到 s.th。发生/开幕。但 ContextMenu 显示不正确。它似乎不可见,仅显示顶部边框。在第二个按钮上单击一切都很好。我正在使用当前版本的 WP7 Toolkit。

XAML

...
            <Grid x:Name="ContentPanel" Margin="12,-16,12,0">
                <ScrollViewer>
                    <i:Interaction.Triggers>
                        <i:EventTrigger EventName="Loaded">
                            <ec:GoToStateAction StateName="VisualState"/>
                        </i:EventTrigger>
                    </i:Interaction.Triggers>
                    <toolkit:ContextMenuService.ContextMenu>
                        <toolkit:ContextMenu IsZoomEnabled="True" x:Name="ctxContextMenu" Margin="0" CacheMode="BitmapCache" BorderThickness="2"/>
                    </toolkit:ContextMenuService.ContextMenu>
                    <StackPanel Orientation="Vertical">
                        ...

AppBar 的 XAML:

<phone:PhoneApplicationPage.ApplicationBar>
    <shell:ApplicationBar IsVisible="True" IsMenuEnabled="False">
        <shell:ApplicationBarIconButton Click="btnExternVisit_Click" IconUri="/Images/visit.png" Text="Externe Links"/>
    </shell:ApplicationBar>
</phone:PhoneApplicationPage.ApplicationBar>

VB.NET:

Dim ctxItem As New MenuItem() With {.Header = "Text"}
                AddHandler ctxItem.Tap, Sub()
                                            Dim showWeb As New WebBrowserTask()
                                            showWeb.Uri = New Uri("uri")
                                            showWeb.Show()
                                        End Sub
                ctxContextMenu.Items.Add(ctxItem)

这是它的样子:

ContextMenu 未正确显示

提前致谢

4

2 回答 2

1

您的上下文菜单中没有任何内容。您需要MenuItem其中的实例。

<toolkit:ContextMenuService.ContextMenu>
    <toolkit:ContextMenu>
        <toolkit:MenuItem Header="A"/>
        <toolkit:MenuItem Header="B"/>
        <toolkit:MenuItem Header="C"/>
    </toolkit:ContextMenu>
</toolkit:ContextMenuService.ContextMenu>
于 2013-07-05T21:53:11.843 回答
0

这似乎是 Windows Phone 中的一个错误。

在 Windows Phone 8 的 GDR2/Amber 更新之后,现在一切都很好。

我会将按钮放在菜单栏之外,以使其适用于旧版本。

于 2013-09-02T17:59:10.373 回答