/// <summary> /// DisplayModeStates /// ----------------- /// Closed /// ClosedCompactLeft /// ClosedCompactRight /// OpenOverlayLeft /// OpenOverlayRight /// OpenInlineLeft /// OpenInlineRight /// OpenCompactOverlayLeft /// OpenCompactOverlayRight /// </summary> private void UpdateVisualStates(bool useTransitons) { string stateName = GetStateName(); if (!IsPaneOpen) { PaneClosing?.Invoke(this, new SplitViewPaneClosingEventArgs()); } else { PaneOpening?.Invoke(this, null); } #if __IOS__ PatchInvalidFinalState(stateName); #endif VisualStateManager.GoToState(this, stateName, useTransitons); if (!IsPaneOpen) { PaneClosed?.Invoke(this, null); } else { PaneOpened?.Invoke(this, null); } }
private void OnTogglePaneButton_Click(object sender, RoutedEventArgs e) { var closing = new NavigationViewPaneClosingEventArgs(); if (IsPaneOpen) { PaneClosing?.Invoke(this, closing); if (closing.Cancel) { this.Log().DebugIfEnabled(() => "Close pane canceled"); return; } } else { PaneOpening?.Invoke(this, null); } IsPaneOpen = !IsPaneOpen; if (IsPaneOpen) { PaneOpened?.Invoke(this, null); } else { PaneClosed?.Invoke(this, null); } }
private void OnPaneClosing(SplitView sender, SplitViewPaneClosingEventArgs args) { PaneClosing?.Invoke(sender, args); if (_previousTopPadding != null) { TopPadding = _previousTopPadding.Value; _previousTopPadding = null; } TogglePaneButton.RequestedTheme = ElementTheme.Default; }
/// <summary> /// DisplayModeStates /// ----------------- /// Closed /// ClosedCompactLeft /// ClosedCompactRight /// OpenOverlayLeft /// OpenOverlayRight /// OpenInlineLeft /// OpenInlineRight /// OpenCompactOverlayLeft /// OpenCompactOverlayRight /// </summary> private void UpdateVisualStates(bool useTransitons) { string stateName = GetStateName(); if (!IsPaneOpen) { PaneClosing?.Invoke(this, new SplitViewPaneClosingEventArgs()); } VisualStateManager.GoToState(this, stateName, useTransitons); if (!IsPaneOpen) { PaneClosed?.Invoke(this, null); } }
private void ClosePane() { SplitViewPaneClosingEventArgs args = new SplitViewPaneClosingEventArgs(); PaneClosing?.Invoke(this, args); if (args.Cancel) { if (DisplayMode == SplitViewDisplayMode.Overlay || DisplayMode == SplitViewDisplayMode.CompactOverlay) { IsPaneOpen = true; return; } } ChangeVisualState(true); PaneClosed?.Invoke(this, EventArgs.Empty); }
/// <summary> /// Panel closing event /// </summary> /// <param name="sender"></param> /// <param name="args"></param> private void SplitView_PaneClosing(SplitView sender, SplitViewPaneClosingEventArgs args) { PaneClosing?.Invoke(sender, args); }
/// <summary> /// Raises the <see cref="PaneClosing"/> event. /// </summary> protected virtual void OnPaneClosing() { PaneClosing?.Invoke(this, EventArgs.Empty); }
protected virtual void OnIsPaneOpenChanged() { bool cancel = false; if (PaneClosing != null) { var args = new SplitViewPaneClosingEventArgs(); foreach (Windows.Foundation.TypedEventHandler <SplitView, SplitViewPaneClosingEventArgs> tmp in PaneClosing.GetInvocationList()) { tmp(this, args); if (args.Cancel) { cancel = true; break; } } } if (!cancel) { OnStateChanged(); if (PaneClosed != null) { PaneClosed(this, new object()); } } else { IsPaneOpen = false; } }
private void OnPaneClosing(object sender, EventArgs e) { PaneClosing?.Invoke(sender, e); }
protected virtual void OnIsPaneOpenChanged(bool newValue) { if (newValue) { OnVisualStateChanged(); } else { if (PaneClosing != null) { SplitViewPaneClosingEventArgs args = new SplitViewPaneClosingEventArgs(); foreach (TypedEventHandler <SplitView, SplitViewPaneClosingEventArgs> handler in PaneClosing.GetInvocationList()) { handler(this, args); if (args.Cancel) { IsPaneOpen = true; return; } } } OnVisualStateChanged(); PaneClosed?.Invoke(this, null); } }