private void RefreshTopMost() { if (_window != null) { var mode = TopMostModeConverter.ToMode(_coreData.ThisDevice.DeviceSettings); bool topMost = false; switch (mode) { case TopMostMode.Always: topMost = true; break; case TopMostMode.WhenCompact: topMost = _lastState == AppWindowState.Compact; break; case TopMostMode.Never: topMost = false; break; case TopMostMode.Manual: topMost = _topMostPinned; break; } if (_lastState == AppWindowState.FullScreen || _lastState == AppWindowState.Maximized || _lastState == AppWindowState.Minimized) { topMost = false; } if (topMost != _window.Topmost) { _window.Topmost = topMost; } } }
private CaptionButtonViewModel CreatePin() { if (TopMostModeConverter.ToMode(_coreData.ThisDevice.DeviceSettings) != TopMostMode.Manual) { return(null); } if (_topMostPinned) { return(CreateButton(CaptionButtonType.PinOff, PackIconKind.PinOff, "Disable 'Top most' mode", () => { _topMostPinned = false; RefreshButtons(true); })); } else { return(CreateButton(CaptionButtonType.Pin, PackIconKind.Pin, "Enable 'Top most' mode", () => { _topMostPinned = true; RefreshButtons(true); })); } }
private void UpdateTopMost() => CurrentTopMostMode.SilentValue = TopMostModes.FirstOrDefault(s => s.Value == TopMostModeConverter.ToMode(CoreData.ThisDevice.DeviceSettings));