C# 表单:平台索引应用程序菜单

C# 表单:平台索引应用程序菜单,c#,xamarin,xamarin.forms,xamarin.mac,C#,Xamarin,Xamarin.forms,Xamarin.mac,我正在编写一个Xamarin.Forms桌面应用程序,我最终会希望以MacOS和Windows为目标。Xamarin.Forms是否有任何与平台无关的机制可用于构建应用程序菜单(即,您可以在其中找到“文件”、“编辑”、“查看”等,并显示在屏幕顶部的MacOS菜单栏中)?我发现的最多的是Xamarin.Forms.Menu和Xamarin.Forms.MenuItem类,但我不清楚它们实际做什么或如何使用它们。尽管Xamain表单不能直接使用您所说的方法 包Microsoft.Toolkit.Uw

我正在编写一个Xamarin.Forms桌面应用程序,我最终会希望以MacOS和Windows为目标。Xamarin.Forms是否有任何与平台无关的机制可用于构建应用程序菜单(即,您可以在其中找到“文件”、“编辑”、“查看”等,并显示在屏幕顶部的MacOS菜单栏中)?我发现的最多的是
Xamarin.Forms.Menu
Xamarin.Forms.MenuItem
类,但我不清楚它们实际做什么或如何使用它们。

尽管Xamain表单不能直接使用您所说的方法

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

但是,将这个NuGet包添加到UWP中,您可以尝试使用custom来完成此操作

代码如下:

<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 Answer仍在创建表单应用程序,只是在UWP上执行viewrenderer。()。