c# - Xamarin.Forms:独立于平台的应用程序菜单

标签 c# xamarin xamarin.forms xamarin.mac

我正在编写一个 Xamarin.Forms 桌面应用程序,我最终希望面向 MacOS 和 Windows。 Xamarin.Forms 是否有任何可用于构建应用程序菜单的平台独立机制(即您可以在其中找到"file"、“编辑”、“查看”等的机制;并且出现在顶部的 MacOS 菜单栏中屏幕)?我发现最多的是 Xamarin.Forms.MenuXamarin.Forms.MenuItem 类,但我不清楚它们实际做什么或如何使用他们。

最佳答案

虽然,Xamain表单不能直接用你说的方法去做。

Package Microsoft.Toolkit.Uwp.UI.Controls 5.0.0 is not compatible with 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>

enter image description here

最后的结果是这样的

enter image description here

关于c# - Xamarin.Forms:独立于平台的应用程序菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53749773/

相关文章:

c# - Xamarin Android 从图库获取图像数据

xaml - 如何使用 Xamarin.Forms xaml 编辑器预览 ListView

c# - EF 4.1 - 代码优先 - JSON 循环引用序列化错误

c# - 有没有办法在运行时构建新类型?

c# - 无法在 Visual Studio 2017 RC 中启动 IIS Express

c# - 如何关闭之前访问过的 Activity ,并跳转到主 Activity ?

c# 3D Bin Packing for shipping 运输

c# - 如何在 Xamarin 的 stackLayout 中全屏填充图像?

android - Xamarin.Forms.Maps map 仅在一台 Android 设备上显示为黑色

c# - 我们可以在 xamarin 表单中的标签页上方添加内容吗?