Пример #1
0
        private void NavigationLogic(ShowViewEvent evt)
        {
            if (CurrentView != null && CurrentView.ID == evt.ID)
            {
                return;
            }

            if (evt.ID == ViewList.Views.Back && PreviousView != null)
            {
                if (PreviousView.Count() > 0)
                {
                    CurrentView = PreviousView.Pop();
                    if (CurrentView != null && !CurrentView.IsOverLay)
                    {
                        PreviousView.Clear();
                    }
                }

                return;
            }

            if (AvalableViews.ContainsKey(evt.ID))
            {
                PreviousView.Push(CurrentView);
                CurrentView = AvalableViews[evt.ID];
                if (!CurrentView.IsOverLay)
                {
                    PreviousView.Clear();
                }
            }

            FocusManager.SetIsFocusScope((DependencyObject)CurrentView.View, true);

            CommandManager.InvalidateRequerySuggested();
        }
Пример #2
0
 protected virtual void OnShowView(object sender, BaseViewModel viewmodel)
 {
     ShowViewEvent?.Invoke(sender, viewmodel);
 }