public void Show() { lock (_lock) { if (_state == GoToWindowState.Shown) { Log.Debug("Sending Tab Again to Main Window."); _mainWindow.ShortcutAgain(); return; } if (_state != GoToWindowState.Hidden) { return; } Log.Debug("Showing Main Window."); _state = GoToWindowState.Showing; } if (Showing != null) { Showing(this, new EventArgs()); } SetAvailableWindowSize(SystemParameters.PrimaryScreenWidth, SystemParameters.PrimaryScreenHeight); _mainWindow.Left = SystemParameters.PrimaryScreenWidth / 2f - _mainViewModel.AvailableWindowWidth / 2f; _mainWindow.Top = SystemParameters.PrimaryScreenHeight / 2f - (_mainViewModel.AvailableWindowHeight + 56) / 2f; _mainWindow.Show(); if (_mainWindowEntry == null) { var interopHelper = new WindowInteropHelper(_mainWindow); _mainWindowEntry = WindowEntryFactory.Create(interopHelper.Handle); Log.DebugFormat("GoToWindow main window created with hWnd {0}", _mainWindowEntry.HWnd); } _mainWindow.SetFocus(); _mainWindowEntry.Focus(); Application.Current.Dispatcher.InvokeAsync(LoadViewModel, DispatcherPriority.Background); }
public void Show() { lock (_lock) { if (_mainWindow != null) { Log.Debug("Sending Tab Again to Main Window."); _mainWindow.ShortcutAgain(); return; } _mainViewModel = new MainViewModel(); SetAvailableWindowSize(SystemParameters.PrimaryScreenWidth, SystemParameters.PrimaryScreenHeight); _mainWindow = new MainWindow { DataContext = _mainViewModel }; _mainWindow.Closing += _mainWindow_Closing; _mainViewModel.Close += _mainViewModel_Close; Showing?.Invoke(this, new EventArgs()); _mainWindow.Left = SystemParameters.PrimaryScreenWidth / 2f - _mainViewModel.AvailableWindowWidth / 2f; _mainWindow.Top = SystemParameters.PrimaryScreenHeight / 2f - (_mainViewModel.AvailableWindowHeight + 56) / 2f; _mainWindow.Width = _mainViewModel.AvailableWindowWidth; _mainWindow.Show(); var interopHelper = new WindowInteropHelper(_mainWindow); _mainWindowEntry = WindowEntryFactory.Create(interopHelper.Handle); Log.DebugFormat("GoToWindow main window created with hWnd {0}", _mainWindowEntry.HWnd); _mainWindow.SetFocus(); _mainWindowEntry.Focus(); Application.Current.Dispatcher.InvokeAsync(LoadViewModel, DispatcherPriority.Input); } }
public void Select() { _entry.Focus(); }