public virtual void Navigate(ViewModelBase page, bool cache = true) { if (page == null) { return; } var args = new BeforeNavigateEventArgs() { Page = CurrentPage, NextPage = page }; BeforeNavigate?.Invoke(this, args); if (args.Cancel) { return; } if (cache) { _history.Add(page); } CurrentPage = page; if (_navigationHistory.Count > 200) { _navigationHistory.RemoveAt(0); } _navigationHistory.Add(page.GetType().FullName); AfterNavigate?.Invoke(this, EventArgs.Empty); }
private void OnAfterNavigate(object sender, NavigateEventArgs e) { AfterNavigate?.Invoke(sender, e); }
protected virtual void OnAfterNavigate(object sender, NavigateEventArgs e) { AfterNavigate?.Invoke(sender, e); }