Beispiel #1
0
 void EnsureFloatingWindowsLocations()
 {
     foreach (var window in dockingManager.FloatingWindows)
     {
         var newLocation = FormLocationHelper.Validate(new Rect(window.Left, window.Top, window.Width, window.Height).TransformToDevice(window).ToSystemDrawing()).ToWpf().TransformFromDevice(window);
         window.Left = newLocation.Left;
         window.Top  = newLocation.Top;
     }
 }
Beispiel #2
0
        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;
        }