Windows 10 UWP应用程序菜单项中的弹出式菜单

3

在菜单飞出项内部是否可以有一个菜单飞出?

        <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(),但当我悬停在上面时,菜单只会消失。有人有什么想法吗?


你想要一个像这个一样具有级联菜单的菜单弹出框吗?如果是的话,你可以使用MenuFlyoutSubItem类 - Jay Zuo
1个回答

3

我试过你的代码但无法使其工作,所以我想出了一个绕路方法来解决它,希望这能给你一些启发:

<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的详细说明,您可以点击这里查看。


1
谢谢,2就是我要找的。现在我需要想办法将列表绑定到MenuFlyoutSubItem项。 - shady

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接