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));