private void Bind(MasterDetailPage masterDetailPage, IViewModel viewModel, ISideMenuViewModel menuViewModel)
        {
            Bind(masterDetailPage.Detail, viewModel);
            Bind(masterDetailPage.Master, menuViewModel);

            menuViewModel.PropertyChanged += (sender, e) =>
            {
                if (e.PropertyName == VisualElement.IsVisibleProperty.PropertyName)
                {
                    masterDetailPage.IsPresented = menuViewModel.IsVisible;
                }
            };
        }
Esempio n. 2
0
 private void OnMenuVisibilityChanged(IViewModel viewModel, ISideMenuViewModel menuViewModel)
 {
     try
     {
         if (menuViewModel.IsVisible)
         {
             menuViewModel.BecameVisible();
         }
         else
         {
             menuViewModel.BecameInvisible();
         }
     }
     catch (Exception e)
     {
         if (!viewModel.HandleException(e, () => OnMenuVisibilityChanged(viewModel, menuViewModel), () => OnCancel(viewModel)))
         {
             throw;
         }
     }
 }