Xamarin.Forms: меню приложений, не зависящее от платформы - PullRequest
0 голосов
/ 12 декабря 2018

Я пишу настольное приложение Xamarin.Forms и, в конечном счете, хочу ориентироваться на MacOS и Windows.Имеются ли в Xamarin.Forms какие-либо механизмы, не зависящие от платформы, которые вы можете использовать для создания меню приложения (т. Е. Того, где вы найдете «Файл», «Редактировать», «Вид» и т. Д .; и который отображается в строке меню MacOS вверху).экрана)?Максимум, что я нашел, это классы Xamarin.Forms.Menu и Xamarin.Forms.MenuItem, но мне не ясно, что они на самом деле делают или как их использовать.

1 Ответ

0 голосов
/ 13 декабря 2018

Хотя формы Xamain не могут напрямую использовать указанные вами методы.

Пакет Microsoft.Toolkit.Uwp.UI.Controls 5.0.0 не совместим с netstandard2.0 >> (.NETStandard, Version = v2.0).

Однако, добавив этот пакет NuGet в UWP, вы можете попробовать использовать для этого пользовательский ViewRenderer .

https://docs.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

...