private void OnResizeMainWindowCommand(ResizeMainWindowCommandMessage resizeMessage)
 {
     if (!IsMaximized && !IsMinimized && !IsFullScreen)
     {
         ResizeMainWindow(resizeMessage);
     }
 }
        private void ResizeMainWindow(ResizeMainWindowCommandMessage resizeMessage)
        {
            var left = Left;
            var top = Top;
            var width = ActualWidth;
            var height = ActualHeight;
            var move = false;

            if (resizeMessage.Size != null && resizeMessage.Coefficient.HasValue)
            {
                var mediaControlSize = _mainView.MediaControlSize;

                var hor = resizeMessage.Size.Item1 * resizeMessage.Coefficient.Value - mediaControlSize.Width;
                var ver = resizeMessage.Size.Item2 * resizeMessage.Coefficient.Value - mediaControlSize.Height;

                width += hor;
                height += ver;

                move = true;
            }

            if (resizeMessage.CenterWindow)
            {
                var workArea = SystemParameters.WorkArea;

                left = width < workArea.Width ? (workArea.Width - width) / 2 : workArea.Left;
                top = height < workArea.Height ? (workArea.Height - height) / 2 : workArea.Top;

                move = true;
            }

            if (move)
            {
                this.MoveWindow(left, top, width, height);
            }
        }