WP7 Toolkit: Открыть ContextMenu из ApplicationBar (контекстное меню не отображается)

Вопрос:

Я попытался открыть ContextMenu из панели приложений с помощью метода ContextMenu.IsOpen(), который будет запускаться в событии «ApplicationBarIconButton_Click». На первой кнопке нажмите, вы увидите там s.th.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">
...

XAML AppBar:

<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 is not displayed correctly

заранее спасибо

Лучший ответ:

Кажется, это ошибка в Windows Phone.

После GDR2/Amber обновления Windows Phone 8 все отлично.

Я поставлю кнопку за пределы меню, чтобы заставить ее работать для более старых версий.

Ответ №1

У вас нет ничего в вашем контекстном меню. В нем вам нужны экземпляры MenuItem.

<toolkit:ContextMenuService.ContextMenu>
<toolkit:ContextMenu>
<toolkit:MenuItem Header="A"/>
<toolkit:MenuItem Header="B"/>
<toolkit:MenuItem Header="C"/>
</toolkit:ContextMenu>
</toolkit:ContextMenuService.ContextMenu>

Оцените статью
TechArks.Ru
Добавить комментарий