protected override void OnGotKeyboardFocus(KeyboardFocusChangedEventArgs e) { base.OnGotKeyboardFocus(e); if (_thief != null && _thief.IsStealing == false && IsKeyboardFocusWithin) { _thief.StartStealing(); } }
public static void Bind(Window window) { var componentManager = ServiceProvider.GetGlobalServiceAsync <SOleComponentManager, IOleComponentManager>().Result; var thief = new KeystrokeThief(componentManager); new System.Windows.Interop.WindowInteropHelper(window).Owner = new IntPtr(CodistPackage.DTE.MainWindow.HWnd); window.Activated += (s, args) => thief.StartStealing(); window.Deactivated += (s, args) => thief.StopStealing(); window.Closed += (s, args) => thief.StopStealing(); }
public static void Bind(Window window) { ThreadHelper.ThrowIfNotOnUIThread(); var componentManager = ServiceProvider.GetGlobalServiceAsync <SOleComponentManager, IOleComponentManager>().Result; var thief = new KeystrokeThief(componentManager); // window.Owner = Application.Current.MainWindow; window.Activated += (s, args) => thief.StartStealing(); window.Deactivated += (s, args) => thief.StopStealing(); window.Closed += (s, args) => thief.StopStealing(); }