private void ChangeVisualState(bool useTransitions) { if (!IsPaneOpen) { if (DisplayMode == SplitViewDisplayMode.CompactInline) { GoToState(useTransitions, "ClosedCompact" + PanePlacement.ToString()); } else { GoToState(useTransitions, "Closed"); } } else { switch (DisplayMode) { case SplitViewDisplayMode.Overlay: GoToState(useTransitions, "OpenOverlay" + PanePlacement.ToString()); break; case SplitViewDisplayMode.Inline: GoToState(useTransitions, "OpenInline" + PanePlacement.ToString()); break; case SplitViewDisplayMode.CompactOverlay: GoToState(useTransitions, "OpenCompactOverlay" + PanePlacement.ToString()); break; } } }
protected virtual void OnStateChanged(bool animated = true) { if (PaneClipRectangle != null) { PaneClipRectangle.Rect = new Rect(0, 0, OpenPaneLength, ActualHeight); } var state = string.Empty; if (IsPaneOpen) { state += "Open"; switch (DisplayMode) { case SplitViewDisplayMode.CompactInline: state += "Inline"; break; default: state += DisplayMode.ToString(); break; } state += PanePlacement.ToString(); } else { state += "Closed"; if (DisplayMode == SplitViewDisplayMode.CompactInline || DisplayMode == SplitViewDisplayMode.CompactOverlay) { state += "Compact"; state += PanePlacement.ToString(); } } VisualStateManager.GoToState(this, state, animated); }
protected virtual string GetVisualState() { string state = string.Empty; if (IsPaneOpen) { state = "Open"; state += IsInline ? "Inline" : DisplayMode.ToString(); } else { state = "Closed"; if (IsCompact) { state += "Compact"; } else { return(state); } } state += PanePlacement.ToString(); return(state); }