2015-11-20 75 views
2

是否有可能在菜单弹出项目菜单弹出?Windows 10 UWP应用程序菜单弹出菜单项内

 <AppBarButton x:Name="Button" Icon="Add" Label="Create List"> 
      <AppBarButton.Flyout> 
       <MenuFlyout> 
        <MenuFlyoutItem Text="b1"> 
         <FlyoutBase.AttachedFlyout> 
          <MenuFlyout x:Name="ItemsMenu" Placement="Left"> 
           <MenuFlyoutItem Text="test1"/> 
           <MenuFlyoutItem Text="test2"/> 
          </MenuFlyout> 
         </FlyoutBase.AttachedFlyout> 
        </MenuFlyoutItem> 
        <MenuFlyoutItem Text="b2" /> 
        <MenuFlyoutItem Text="b3" /> 
        <MenuFlyoutItem Text="b4" /> 
        <MenuFlyoutItem Text="b5" /> 
       </MenuFlyout> 
      </AppBarButton.Flyout> 
     </AppBarButton> 

点击该项目只是使菜单消失。我试着在鼠标指针上输入ItemsMenu.ShowAt(),但当我将鼠标悬停在它上面时,它只是让菜单消失。有人有主意吗?

+0

你想要一个类似[this](http://res.cloudinary.com/dvi6ot1t1/image/upload/v1429482047/subitems1_q6v8qt.jpg)级联菜单的菜单弹出吗?如果是这样,你可以使用[MenuFlyoutSubItem类](https://msdn.microsoft.com/library/windows/apps/windows.ui.xaml.controls.menuflyoutsubitem.aspx)。 –

回答

2

我曾尝试你的代码,但不能让它工作,所以我想出一个迂回的方法来解决这个问题,我希望这将提供一些启发你:

<Page.Resources> 
    <CollectionViewSource x:Key="cvs" x:Name="cvs" IsSourceGrouped="True"/> 
    <Flyout x:Key="DeclarativeAttachedFlyout"> 
     <StackPanel> 
      <Button Content="b1"> 
       <Button.Flyout> 
        <MenuFlyout> 
         <MenuFlyoutItem Text="t1"></MenuFlyoutItem> 
         <MenuFlyoutItem Text="t2"></MenuFlyoutItem> 
         <MenuFlyoutItem Text="t3"></MenuFlyoutItem> 
         <MenuFlyoutItem Text="t4"></MenuFlyoutItem> 
        </MenuFlyout> 
       </Button.Flyout> 
      </Button> 
      <Button Content="b2"></Button> 
      <Button Content="b3"></Button> 
      <Button Content="b4"></Button> 
      <Button Content="b5"></Button> 
     </StackPanel> 
    </Flyout> 

<MenuFlyout x:Key="DeclarativeAttachedFlyout2"> 
     <MenuFlyoutItem Text="b1" ></MenuFlyoutItem> 
     <MenuFlyoutItem Text="b2" ></MenuFlyoutItem> 
     <MenuFlyoutItem Text="b3" ></MenuFlyoutItem> 
     <MenuFlyoutItem Text="b4" ></MenuFlyoutItem> 
     <MenuFlyoutItem Text="b5" ></MenuFlyoutItem> 
     <MenuFlyoutSubItem Text="s1"> 
      <MenuFlyoutItem Text="b6"></MenuFlyoutItem> 
     </MenuFlyoutSubItem> 
    </MenuFlyout> 
</Page.Resources> 
<AppBarButton x:Name="button" Icon="Add" Label="Create List" Flyout="{StaticResource DeclarativeAttachedFlyout}"> </AppBarButton> 
<AppBarButton x:Name="button" Icon="Add" Label="Create List" Flyout="{StaticResource DeclarativeAttachedFlyout2}"> </AppBarButton> 

下面是详细的解释大约flyout,你可以点击this

+1

感谢2是我正在寻找。现在我必须弄清楚如何将列表绑定到MenuFlyoutSubItem项目。 – shady