Как заставить Master Detail вести себя в UWP так же, как в Android и IOS - PullRequest
0 голосов
/ 24 декабря 2018

У меня есть призматическое приложение Xamarin Forms, которое разрабатывается как для UWP, так и для Android на IOS.Это первое приложение UWP, которое я создал.Я хочу иметь меню, доступное только с первого уровня навигации.Для этого в прошлом я использовал страницу Master-Detail.Однако я столкнулся с некоторыми различиями в поведении, с которыми мне нужна помощь.

Когда я использую экран Master-Detail на IOS или Android, он ведет себя как меню, доступное только для первого уровня навигации.На любой подстранице, по которой вы можете перейти оттуда, вы не видите меню, она заменяется кнопкой «Назад».

Когда я использую экран Master-Detail на UWP, его поведение отличается.Меню доступно на всех страницах независимо от того, как далеко вы попадаете в стек навигации.По умолчанию это также панель меню элементов, закрепленных на левой стороне вашего приложения.

Я понял, как заставить меню свернуться в кнопку гамбургера, к которой я привык в приложениях для Android и IOS, установив для параметра MasterBehavior значение Popover.Но я хотел бы, чтобы меню полностью исчезало на любой странице, перемещаемой после первого уровня, как это происходит на IOS Android.

Кто-нибудь знает, как это сделать?

1 Ответ

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

Я думаю, что могу с уверенностью сказать, что это не может быть сделано в чистом Xamarin.Forms.

Чтобы изменить это, вам придется изменить, в какой UWP-фрейм загружается контент, а я не в курсеэтот фрейм доступен в любом месте Xamarin.Forms, что означает, что даже пользовательские средства визуализации не могут помочь.

Однако вы можете попытаться создать встроенную навигацию, которая будет работать так же, как в проекте UWP, а затем загрузить внутри этих собственных элементов управления XamarinСтраница форм, которая должна работать и предоставлять результаты, которые вы запросили.Не тривиально и не мало строк, которые я могу вам показать, но если это важно для вас, это должно быть возможно таким образом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...