Основная страница сведений в формах Xamarin и MvvmCross - PullRequest
0 голосов
/ 26 февраля 2019

У меня есть страница Index.xaml, которая имеет следующее представление страницы:

[MvxMasterDetailPagePresentation(Position = MasterDetailPosition.Detail,
  WrapInNavigationPage = true, Title = "Demo")]

Она покажет значок гамбургера на панели навигации, и все работает нормально.

Меню, котороеотображается при нажатии меню гамбургера:

[MvxMasterDetailPagePresentation(MasterDetailPosition.Master)]

Теперь, когда я перехожу со страницы сведений в файл Detail.xaml, я ожидаю, что в файле Detail.xaml будет отображаться стрелка назад на панели навигации, ноздесь также отображается значок гамбургера.Detail.xaml не имеет атрибута PagePresentation.

Я перехожу к Index.xaml с помощью кода:

_navigationService.Navigate(typeof(DetailViewModel), parameter);

Когда я удаляю MvxMasterDetailPagePresentation из Index.xaml, меню гамбургера исчезаети Detail.xaml показывает стрелку назад, но мне нужен значок гамбургера в Index.xaml.

Я поиграл с PagePresentations, но не смог заставить его работать.

Как мне добиться желаемого поведения?

1 Ответ

0 голосов
/ 28 февраля 2019

Как сказано в документах :

Позиция |TabbedPosition |Используйте это, чтобы установить положение страницы.Это может быть либо Root для размещения страниц, либо Tab как страница внутри TabbedPage

У вас нет Root для размещения страниц, поэтому ваш Index.xaml должен бытьустановите на:

[MvxMasterDetailPagePresentation(MasterDetailPosition.Root, WrapInNavigationPage = false)]

Ваше меню:

[MvxMasterDetailPagePresentation(MasterDetailPosition.Master)]

Ваша информация:

[MvxMasterDetailPagePresentation(MasterDetailPosition.Detail, WrapInNavigationPage = true, NoHistory = true)]

Образец Звездных войн - хорошее месточтобы увидеть, как это работает.

HIH

...