Uno 平台弹出菜单子项放置在 Android 可见区域之外

Uno platform flyout menu sub item placed outside visible region on Andorid

使用 MenuFlyoutSubItem 时,子项目窗格位于 Android 的可见区域之外:

Android 模拟器显示子项目不可见:

这是我使用的代码

    <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}" Margin="10">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*"/>
            <ColumnDefinition Width="Auto"/>
        </Grid.ColumnDefinitions>

        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>

        <Button Grid.Column="1" Grid.Row="0">
            <SymbolIcon Symbol="More"/>
            <Button.Flyout>
                <MenuFlyout Placement="BottomEdgeAlignedRight">
                    <MenuFlyoutItem Text="Item 1"/>
                    <MenuFlyoutSubItem Text="Sub Items">
                        <ToggleMenuFlyoutItem Text="Sub Item 1"/>
                        <ToggleMenuFlyoutItem Text="Sub Item 2"/>
                        <ToggleMenuFlyoutItem Text="Sub Item 2"/>
                    </MenuFlyoutSubItem>
                </MenuFlyout>
            </Button.Flyout>
        </Button>
    </Grid>

Uno Platform 3.11 的这个问题 has been fixed in the previews,其中弹出窗口的布局错误地检测了当前 window 的边界。

您可以通过选中托管的 nuget 包中的实验框来尝试预览位,并安装最新的 3.11.0-dev.XX 包。