Prism Navigation сохраняет меню MasterPageDetail после перехода на другую страницу

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

Это страница, доступная из MasterPageDetailMenu  Первая страница

Когда пользователь обращается к этой странице, он может получить доступ к меню MasterPageDetail. Но если пользователь выберет элемент из списка или щелкнет плавающую кнопку «Плюс», приложение перейдет на другую страницу, где не должно быть доступа к меню MasterPageDetail.

Вторая страница - меню не должно быть доступно

Но, как вы можете видеть на следующем изображении, если пользователь сдвинет страницу слева направо, меню MasterPageDetail все еще будет доступно.

Вторая страница с доступным меню

Как я могу избежать такого поведения? В классе App мой код для перехода к MasterPageDetail:

await NavigationService.NavigateAsync("Menu/Navigation/TipoItensCardapio")

В данном случае меню - это мой MasterPagelDetail. Код для перехода со страницы TipoItensCardapio на вторую страницу:

NavigationService.NavigateAsync("TipoItemCardapioEdit");

person Vinícius da Cruz Maia    schedule 27.07.2018    source источник
comment
Разве меню не должно быть всегда доступно, независимо от того, могу ли я перейти на текущую страницу прямо из меню? Для меня это работает, как ожидалось.   -  person Haukinger    schedule 27.07.2018
comment
@Haukinger в собственной разработке или Xamarin.Android, это не поведение. В собственном подходе вы можете переходить на другие страницы, где меню недоступно. Если вы видите вторую страницу, значок меню не отображается, значит, это меню не должно быть доступно.   -  person Vinícius da Cruz Maia    schedule 27.07.2018
comment
Не по моему опыту. Я использую собственный xamarin для Android, и в моем приложении меню доступно, даже если я нахожусь на подстранице со стрелкой в ​​верхнем левом углу. И, кстати, приложение Google Play Store ведет себя точно так же (по крайней мере, на Android 6)   -  person Haukinger    schedule 27.07.2018
comment
@ Vinícius da Cruz Maia Вы решили свою проблему? Не могли бы вы поделиться этим?   -  person Tony Pham    schedule 19.12.2018


Ответы (1)


Если вы хотите, чтобы конкретная страница не позволяла выдвигать ящик, это звучит так, как будто вам, вероятно, следует нажимать ее как модальную, а не обычную страницу. Например:

await Navigation.PushModalAsync(new YourPage());

Для получения дополнительной информации о модальных окнах Xamarin.Forms я бы ознакомился с документы

person Nick Peppers    schedule 27.07.2018
comment
Запрошенное намерение состояло в том, чтобы использовать Prism с Xamarin.Forms, а не автономную систему навигации XF. - person Damian; 20.01.2019