我尝试使用" 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)
这是它的样子:
提前致谢
答案 0 :(得分:1)
您的上下文菜单中没有任何内容。你需要MenuItem
个实例。
<toolkit:ContextMenuService.ContextMenu>
<toolkit:ContextMenu>
<toolkit:MenuItem Header="A"/>
<toolkit:MenuItem Header="B"/>
<toolkit:MenuItem Header="C"/>
</toolkit:ContextMenu>
</toolkit:ContextMenuService.ContextMenu>
答案 1 :(得分:0)
这似乎是Windows Phone中的一个错误。
在Windows Phone 8的GDR2 / Amber更新之后,一切都很好。
我会将按钮放在菜单栏外面,以使其适用于旧版本。