Windows 10 UWP 应用程序菜单浮出菜单项内
Windows 10 UWP app menu flyout inside menu item
是否可以在弹出菜单项中添加弹出菜单?
<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(),但当我将鼠标悬停在菜单上时,它只会让菜单消失。谁有想法?
我试过你的代码,还是不行,所以我想了一个迂回的方法来解决,希望能给你一些启发:
<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
是否可以在弹出菜单项中添加弹出菜单?
<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(),但当我将鼠标悬停在菜单上时,它只会让菜单消失。谁有想法?
我试过你的代码,还是不行,所以我想了一个迂回的方法来解决,希望能给你一些启发:
<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