Xamarin.Forms:跨平台应用程序菜单

3
我正在编写一个 Xamarin.Forms 的桌面应用程序,最终目标是在 MacOS 和 Windows 上运行。Xamarin.Forms 是否有平台无关机制可用于构建应用程序菜单(即您可以在其中找到“文件”、“编辑”、“查看”等菜单;并出现在 MacOS 菜单栏顶部)?我找到的最多的是 Xamarin.Forms.MenuXamarin.Forms.MenuItem 类,但我不清楚它们实际上是做什么以及如何使用它们。
1个回答

2

虽然Xamarin Forms不能直接使用您提到的方法来实现。

Microsoft.Toolkit.Uwp.UI.Controls包5.0.0与netstandard2.0不兼容>>(.NETStandard,Version=v2.0)。

但是,将此NuGet包添加到UWP中,您可以尝试使用自定义ViewRenderer来完成此操作。

https://learn.microsoft.com/en-us/windows/communitytoolkit/controls/menu

代码如下:

<Grid>
    <controls:Menu>
        <controls:MenuItem Name="FileMenu"
    controls:Menu.InputGestureText="Alt+F"
    Header="File">

            <MenuFlyoutSubItem Text="New">
                <MenuFlyoutItem controls:Menu.InputGestureText="Ctrl+Shift+N"
            Text="Project" />

                <MenuFlyoutItem controls:Menu.InputGestureText="Ctrl+N"
            Text="File" />
            </MenuFlyoutSubItem>
        </controls:MenuItem>
    </controls:Menu>
</Grid>

输入图像描述

最终结果如下。

输入图像描述


了解那个UWP控件真是太好了...所以基本上,自定义渲染器是正确的方法? - Jwosty
@Jwosty的回答仍然是创建一个表单应用程序,只是在UWP上执行viewrenderer。(https://learn.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/custom-renderer/view)。 - Junior Jiang

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