private void Page_SizeChanged(object sender, SizeChangedEventArgs e) { if (e.NewSize.Width <= onePageMinWidth) { if (state == pageState.l || state == pageState.r) { return; } state = listView.SelectedItem == null ? pageState.l : pageState.r; listView.ClearValue(WidthProperty); listView.ClearValue(HorizontalAlignmentProperty); borderDetail.ClearValue(MarginProperty); toSubPageAnmation(false); CanGoBackChanged?.Invoke(this, EventArgs.Empty); } else { if (state == pageState.lr) { return; } state = pageState.lr; listView.Width = leftWidth; listView.HorizontalAlignment = HorizontalAlignment.Left; borderDetail.Margin = new Thickness(leftWidth + 4, 0, 0, 0); toSubPageAnmation(false); CanGoBackChanged?.Invoke(this, EventArgs.Empty); } }
protected void UpdateBackButton() { SystemNavigationManager.GetForCurrentView().AppViewBackButtonVisibility = CanGoBack() ? AppViewBackButtonVisibility.Visible : AppViewBackButtonVisibility.Collapsed; CanGoBackChanged?.Invoke(this, null); }
private void UpdateBackForward() { CanGoBack = Browser.GetBrowser().CanGoBack; CanGoForward = Browser.GetBrowser().CanGoForward; CanGoBackChanged?.Invoke(this, CanGoBack); CanGoForwardChanged?.Invoke(this, CanGoForward); }
public NavigationService(Frame frame) { _frame = new FrameFacade(frame, this); _frame.CanGoBackChanged += (s, e) => CanGoBackChanged?.Invoke(this, EventArgs.Empty); _frame.CanGoForwardChanged += (s, e) => CanGoForwardChanged?.Invoke(this, EventArgs.Empty); }
public NavigationService(ILoggerFacade logger, IFrameFacade frameFacade) { _frameFacade = frameFacade; _frameFacade.CanGoBackChanged += (s, e) => CanGoBackChanged?.Invoke(this, EventArgs.Empty); _frameFacade.CanGoForwardChanged += (s, e) => CanGoForwardChanged?.Invoke(this, EventArgs.Empty); _logger = logger; }
public FrameFacade(Frame frame, INavigationServiceUwp navigationService) { _frame = frame; _navigationService = navigationService; _frame.RegisterPropertyChangedCallback(Frame.CanGoBackProperty, (s, p) => CanGoBackChanged?.Invoke(this, EventArgs.Empty)); _frame.RegisterPropertyChangedCallback(Frame.CanGoForwardProperty, (s, p) => CanGoForwardChanged?.Invoke(this, EventArgs.Empty)); }
private NavigationService(Frame frame) { _frame = new FrameFacade(frame, this); _frame.CanGoBackChanged += (s, e) => CanGoBackChanged?.Invoke(this, EventArgs.Empty); _frame.CanGoForwardChanged += (s, e) => CanGoForwardChanged?.Invoke(this, EventArgs.Empty); Instances.Add(frame, this); _logger = PrismApplicationBase.Current.Container.Resolve <ILoggerFacade>(); }
internal NavigationService(Frame frame, string id) { _frame = new FrameFacade(frame, this, id); _frame.CanGoBackChanged += (s, e) => CanGoBackChanged?.Invoke(this, EventArgs.Empty); _frame.CanGoForwardChanged += (s, e) => CanGoForwardChanged?.Invoke(this, EventArgs.Empty); Instances.Add(frame, this); _logger = ApplicationTemplate.Current.Container.Resolve <ILoggerFacade>(); }
internal FrameFacade(Frame frame, IPlatformNavigationService navigationService) { _frame = frame; _frame.ContentTransitions = new TransitionCollection(); _frame.ContentTransitions.Add(new NavigationThemeTransition()); _frame.RegisterPropertyChangedCallback(Frame.CanGoBackProperty, (s, p) => CanGoBackChanged?.Invoke(this, EventArgs.Empty)); _frame.RegisterPropertyChangedCallback(Frame.CanGoForwardProperty, (s, p) => CanGoForwardChanged?.Invoke(this, EventArgs.Empty)); _dispatcher = frame.Dispatcher; _navigationService = navigationService; }
public FrameFacade(Frame frame, ILoggerFacade logger) { _frame = frame; _frame.ContentTransitions = new TransitionCollection { new NavigationThemeTransition() }; _frame.RegisterPropertyChangedCallback(Frame.CanGoBackProperty, (s, p) => CanGoBackChanged?.Invoke(this, EventArgs.Empty)); _frame.RegisterPropertyChangedCallback(Frame.CanGoForwardProperty, (s, p) => CanGoForwardChanged?.Invoke(this, EventArgs.Empty)); _dispatcher = frame.Dispatcher; _syncContext = SynchronizationContext.Current; _logger = logger; }
internal FrameFacade(Frame frame, IPlatformNavigationService navigationService) { _frame = frame; _frame.ContentTransitions = new TransitionCollection { new NavigationThemeTransition() }; _frame.RegisterPropertyChangedCallback(Frame.CanGoBackProperty, (s, p) => CanGoBackChanged?.Invoke(this, EventArgs.Empty)); _frame.RegisterPropertyChangedCallback(Frame.CanGoForwardProperty, (s, p) => CanGoForwardChanged?.Invoke(this, EventArgs.Empty)); _dispatcher = frame.Dispatcher; _syncContext = SynchronizationContext.Current; _navigationService = navigationService; _logger = PrismApplicationBase.Current.Container.Resolve <ILoggerFacade>(); }
public void Forward() { var currentEntry = HistoryStack.FirstOrDefault(h => h.Current); int currentIndex = HistoryStack.ToList().IndexOf(currentEntry); var validNavigationStack = HistoryStack // Transform to list so we don't affect the original stack ?.ToList(); // Find the index of the current address in the valid history items int currentIndex_validStack = validNavigationStack.FindIndex(h => h.VisitedAt == currentEntry.VisitedAt); var newEntry = validNavigationStack.ElementAtOrDefault(currentIndex_validStack - 1); if (newEntry is null) { // We can't go forward, the UI should reflect that CanGoForwardChanged?.Invoke(false); // And the code shouldn't try. return; } foreach (var h in HistoryStack) { h.Current = false; } // This is the entry we're navigating to, so it should be marked as current HistoryStack.First(h => h.VisitedAt == newEntry.VisitedAt).Current = true; if (newEntry != null) { CanGoBackChanged?.Invoke(true); // If there is something else at the front of the stack, we can navigate forward to it CanGoForwardChanged?.Invoke(currentIndex_validStack - 1 > 0); ForwardRequested?.Invoke(newEntry); } }
public void Back() { var currentEntry = HistoryStack.FirstOrDefault(h => h.Current); int currentIndex = HistoryStack.ToList().IndexOf(currentEntry); var validNavigationStack = HistoryStack // Transform to list so we don't affect the original stack ?.ToList(); // Find the index of the current address in the valid history items int currentIndex_validStack = validNavigationStack.FindLastIndex(h => h.Current); var newEntry = validNavigationStack.ElementAtOrDefault(currentIndex_validStack + 1); if (newEntry is null) { // We can't go back, the UI should reflect that CanGoBackChanged?.Invoke(false); // And the code shouldn't try. return; } foreach (var h in HistoryStack) { h.Current = false; } // This is the entry we're navigating to, so it should be marked as current HistoryStack.First(h => h.VisitedAt == newEntry.VisitedAt).Current = true; int newHistoryItemIndexOnStack = HistoryStack.ToList().FindIndex(h => h.VisitedAt == newEntry.VisitedAt); if (validNavigationStack != null) { CanGoBackChanged?.Invoke(newHistoryItemIndexOnStack + 1 < HistoryStack.Count()); CanGoForwardChanged?.Invoke(true); BackRequested?.Invoke(newEntry); } }
public void Navigate(Uri address) { // Reset all entries to not current foreach (var h in HistoryStack) { h.Current = false; } var newNavigationEntry = new NavigationEntry() { Kind = NavigationPageType.Web, WebUri = address, VisitedAt = DateTime.Now, Current = true }; HistoryStack.Push(newNavigationEntry); CanGoBackChanged?.Invoke(true); CanGoForwardChanged?.Invoke(false); NavigationRequested?.Invoke(newNavigationEntry); }
private void listView_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (listView.SelectedItem == null && !previousIsNull) { hideRight.Begin(); previousIsNull = true; } else if (previousIsNull) { gridDetail.Visibility = Visibility.Visible; showRight.Begin(); previousIsNull = false; } if (state == pageState.lr) { return; } else { state = listView.SelectedItem == null ? pageState.l : pageState.r; toSubPageAnmation(true); CanGoBackChanged?.Invoke(this, EventArgs.Empty); } }
public void Navigate(Type pageType, object param) { // Reset all entries to not current foreach (var h in HistoryStack) { h.Current = false; } var newNavigationEntry = new NavigationEntry() { Kind = NavigationPageType.Native, NativePageType = pageType, NativePageParam = param, VisitedAt = DateTime.Now, Current = true }; HistoryStack.Push(newNavigationEntry); CanGoBackChanged?.Invoke(true); CanGoForwardChanged?.Invoke(false); NavigationRequested?.Invoke(newNavigationEntry); }
public void OnCanGoBackChanged() { CanGoBackChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(CanGoBack))); }
private void RaiseCanGoBackChanged() { CanGoBackChanged?.Invoke(this, new CanGoBackChangedHandlerArgs(CanGoBack)); }
private void OnCanGoBackChanged() { CanGoBackChanged?.Invoke(this, new PropertyChangedEventArgs("CanGoBack")); }
private void navHost_CanGoBackChanged(object sender, CanGoBackChangedHandlerArgs e) { CanGoBackChanged?.Invoke(sender, e); }
protected virtual void OnCanGoBackChanged(EventArgs e) { CanGoBackChanged?.Invoke(this, e); }