private void OnDisplayModeChanged(HamburgerMenuDisplayMode newValue) { DisplayModeChanged?.Invoke(this, new HamburgerMenuDisplayModeChangedEventArgs { DisplayMode = newValue }); UpdateDisplayMode(newValue, IsPaneOpen); }
private void UpdateDisplayMode(HamburgerMenuDisplayMode displayMode, bool isPaneOpen) { switch (displayMode) { case HamburgerMenuDisplayMode.Compact: if (isPaneOpen) { VisualStateManager.GoToState(this, OpenCompactState, true); } else { VisualStateManager.GoToState(this, ClosedCompactState, true); } break; case HamburgerMenuDisplayMode.Expanded: if (isPaneOpen) { VisualStateManager.GoToState(this, OpenExpandedState, true); } else { VisualStateManager.GoToState(this, ClosedCompactState, true); } break; case HamburgerMenuDisplayMode.Minimal: if (isPaneOpen) { VisualStateManager.GoToState(this, OpenMinimalState, true); } else { VisualStateManager.GoToState(this, ClosedMinimalState, true); } break; default: break; } }