protected override void OnSourceInitialized(EventArgs e) { base.OnSourceInitialized(e); HwndSource.FromHwnd(this.MainWin32Window.Handle).AddHook(SingleInstanceHelper.WndProc); // validate after PresentationSource is initialized Rect bounds = new Rect(Left, Top, Width, Height); bounds = FormLocationHelper.Validate(bounds.TransformToDevice(this).ToSystemDrawing()).ToWpf().TransformFromDevice(this); this.Left = bounds.Left; this.Top = bounds.Top; this.Width = bounds.Width; this.Height = bounds.Height; }
protected override void OnSourceInitialized(EventArgs e) { base.OnSourceInitialized(e); HwndSource.FromHwnd(this.MainWin32Window.Handle).AddHook(SingleInstanceHelper.WndProc); // validate after PresentationSource is initialized Rect bounds = new Rect(Left, Top, Width, Height); bounds = FormLocationHelper.Validate(bounds.TransformToDevice(this).ToSystemDrawing()).ToWpf().TransformFromDevice(this); SetBounds(bounds); // Set WindowState after PresentationSource is initialized, because now bounds and location are properly set. this.WindowState = lastNonMinimizedWindowState; }