0

"ApplicationBarIconButton_Click"이벤트에서 실행되는 "ContextMenu.IsOpen()"메서드를 사용하여 응용 프로그램 막대에서 ContextMenu를 열려고했습니다. 첫 단추를 클릭하면 s.th가 표시됩니다. 일어나는/열리는. 그러나 ContextMenu 제대로 표시되지 않습니다. 보이지 않는 것처럼 보입니다. 위쪽 테두리 만 표시됩니다. 두 번째 버튼을 클릭하면 모든 것이 정상입니다. 현재 WP7 Toolkit 버전을 사용하고 있습니다. AppBar의WP7 툴킷 : ApplicationBar에서 ContextMenu 열기 (컨텍스트 메뉴가 표시되지 않음)

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 :

<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

+0

컨텍스트 메뉴에 대한 XAML을 게시하십시오. –

+0

위의 코드 필드에 나와 있습니다. 또한 appBar에 XAML을 추가했습니다. – jordi

답변

0

Windows Phone에서는 버그 인 것 같습니다.

Windows Phone 8의 GDR2/Amber 업데이트가 완료된 후 이제는 문제가 없습니다.

이전 버전에서는 작동하도록 메뉴 바 외부에 단추를 배치합니다.

+0

ApplicationBarMenuItem 항목에서 작동시키지 않으려 고 생각합니다. 그건 아직 작동하지 않는 것 같습니다. –

1

사전

에서

덕분에 당신은 당신의 상황에 맞는 메뉴에서 아무것도 없다. 그 안에 MenuItem 인스턴스가 필요합니다.

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

MenuItems 및 처리기는 Sub New()에서 프로그래밍 방식으로 생성됩니다. 위의 vb.net 코드를 추가했습니다. 컨텍스트 메뉴의 위쪽 경계가 올바른 위치에있는 것 같습니다. – jordi