private void CaptureZone_MouseLeave(object sender, MouseEventArgs e) { if (_isDrag && IsVisible) { WindowState = WindowState.Minimized; int left = (int)(Canvas.GetLeft(_dragBorder) * _factor.X); int top = (int)(Canvas.GetTop(_dragBorder) * _factor.Y); int width = (int)(_dragBorder.Width * _factor.X); int height = (int)(_dragBorder.Height * _factor.Y); var rect = new Rect { Left = left, Right = width + left, Bottom = top + height, Top = top }; var image = DisplayHelper.Capture(_monitorInfo, rect); NotifyHelper.InvokeNotify(NotifyEventType.ScreenCaptureDataBInd, new CaptureEventArgs() { CaptureViewMode = _captureViewMode, MonitorInfo = _monitorInfo, CaptureImage = image, Position = rect }); e.Handled = true; WindowState = WindowState.Maximized; } _isDrag = false; }