Xamarin.Forms MasterDetailPage с частью мастера, видимой на деталях - PullRequest
0 голосов
/ 13 сентября 2018

Я хочу выдвинуть (сделать видимой) небольшую часть главной страницы, чтобы детализировать страницу, как на картинках в ссылках ниже. Возможно ли это в Xamarin.Forms?
До удара
После пролистывания

Буду благодарен за помощь.

Ответы [ 2 ]

0 голосов
/ 13 сентября 2018

Это возможно, но требует некоторых усилий, так как вы не можете получить доступ к ширине MasterDetailView напрямую.

В другом посте (см. Как установить ширину для MasterDetailPage в формах xamarin ) Я описал, как изменить ширину представления MasterDetail. При реализации этого я столкнулся с поведением, которое вы хотели бы иметь, хотя для меня это было ошибкой.

В основном шаги будут

  • Реализация пользовательской версии представления MasterDetail, где вы можете установить пользовательскую ширину
  • Измените ширину основного вида, чтобы она была немного шире, чем должна быть
  • Адаптируйте вычисления при свертывании и расширении вида, чтобы они не сворачивались по всей ширине

Например, если ваш мастер-вид имеет ширину 340 и вы хотите, чтобы последние 40 отображались, убедитесь, что при свертывании он «только» перемещается на 300

0 голосов
/ 13 сентября 2018

Набор

<ContentPage NavigationPage.HasNavigationBar="False">

Поместите StackLayout или Grid, который выглядит как боковое меню, показанное на вашем изображении. Добавьте к нему распознаватель жестов касания.

slMenu.GestureRecognizers.Add(new TapGestureRecognizer
{
     Command = new Command(() => ShowSideMenu(masterPage)),
});


private void ShowSideMenu(MasterDetailPage masterPage)
{
    masterPage.IsPresented = !masterPage.IsPresented;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...