在XAML UWP C#中的MenuFlyout中制作Flyout

lkaoscv7  于 2023-08-01  发布在  C#
关注(0)|答案(1)|浏览(166)

我试图使一个程序的设置按钮,打开一个菜单飞出,其中有一个子项目,打开一个飞出(注意,这是一个飞出,而不是菜单飞出)。由于某种原因,代码完全忽略了我的弹出型按钮的所有属性和所有项目。这是我的当前代码(只是弹出部分):

<Button x:Name="bar_settings" Content="Settings" Margin="10,5,0,0" VerticalAlignment="Top" Width="90" Height="30" HorizontalAlignment="Left" FontFamily="Roboto">
            <Button.Flyout>
                <MenuFlyout Placement="BottomEdgeAlignedLeft">
                    <MenuFlyoutSubItem Text="Change Money Symbol">
                        <FlyoutBase.AttachedFlyout>
                            <Flyout">
                                <Grid Width="100" Height="100"> // ignores
                                    <TextBlock Text="test123"/> // ignores
                                </Grid>
                            </Flyout>
                        </FlyoutBase.AttachedFlyout>
                    </MenuFlyoutSubItem>
                </MenuFlyout>
            </Button.Flyout>
        </Button>

字符串
以下是尝试运行程序并测试弹出按钮时发生的情况:

的数据

siotufzp

siotufzp1#

根据文档FlyoutBase,FlyoutBase.AttachedFlyoutFlyoutBase.ShowAttachedFlyout需要一起使用,但MenuFlyoutSubItem没有事件可用于使用ShowAttachedFlyout
您可以尝试以下解决方案,在MenuFlyoutSubItem中添加MenuFlyoutItem,然后在MenuFlyoutItem.Template中添加Grid。

<Button x:Name="bar_settings" Content="Settings" Margin="10,5,0,0" VerticalAlignment="Top" Width="90" Height="30" HorizontalAlignment="Left" FontFamily="Roboto">
    <Button.Flyout>
        <MenuFlyout Placement="BottomEdgeAlignedLeft">
            <MenuFlyoutSubItem Text="Change Money Symbol">
                <MenuFlyoutItem>
                    <MenuFlyoutItem.Template>
                        <ControlTemplate>
                            <Grid Width="100" Height="100">
                                <TextBlock Text="test123"/>
                            </Grid>
                        </ControlTemplate>
                    </MenuFlyoutItem.Template>
                </MenuFlyoutItem>                     
            </MenuFlyoutSubItem>
        </MenuFlyout>
    </Button.Flyout>
</Button>

字符串

相关问题