private void OpenDiagnosticsWindow()
        {
            CloseDiagnosticsWindow();

            _diagnosticsWindow          = new DiagnosticsWindow(_lastShownDXViewportView);
            _diagnosticsWindow.Closing += delegate(object o, CancelEventArgs args)
            {
                _diagnosticsWindow = null;
            };

            // Position DiagnosticsWindow to the top-left corner of our window
            double left    = this.Left + this.ActualWidth;
            double maxLeft = left + DiagnosticsWindow.InitialWindowWidth;

            if (maxLeft > SystemParameters.VirtualScreenWidth)
            {
                if (this.Left > DiagnosticsWindow.InitialWindowWidth)
                {
                    left = this.Left - DiagnosticsWindow.InitialWindowWidth;
                }
                else
                {
                    left -= (maxLeft - SystemParameters.VirtualScreenWidth);
                }
            }

            _diagnosticsWindow.Left = left;
            _diagnosticsWindow.Top  = this.Top;

            _diagnosticsWindow.Show();
        }
        private void OpenDiagnosticsView()
        {
            DiagnosticsWindow    view  = new DiagnosticsWindow();
            DiagnosticsViewModel model = new DiagnosticsViewModel();

            view.DataContext = model;
            view.Show();
        }