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

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

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 не отображается правильно

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

2 ответа

Решение

Казалось, это ошибка в Windows Phone.

После GDR2/Amber обновления Windows Phone 8 теперь все в порядке.

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

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

<toolkit:ContextMenuService.ContextMenu>
    <toolkit:ContextMenu>
        <toolkit:MenuItem Header="A"/>
        <toolkit:MenuItem Header="B"/>
        <toolkit:MenuItem Header="C"/>
    </toolkit:ContextMenu>
</toolkit:ContextMenuService.ContextMenu>
Другие вопросы по тегам