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