/// <summary> /// Initializes a new instance of the MainViewModel class. /// </summary> public MainViewModel() { CloseCommand = new RelayCommand <Window>(CloseClick); HookCommand = new RelayCommand(HookClick); _interceptMouse = new InterceptMouse(); if (IsInDesignMode) { return; } HookClick(); _interceptMouse.MouseHookLeftButtonDown += (sender, args) => { Dispatcher.CurrentDispatcher.InvokeAsync(() => { _dv?.Close(); _dv = null; GetPixel(args); }); _interceptMouse.Unhook(); RaisePropertyChanged(nameof(Hooked)); }; _interceptMouse.MouseHookMove += (sender, args) => Dispatcher.CurrentDispatcher.InvokeAsync(() => GetPixel(args)); }
public override void Cleanup() { // Clean up if needed if (_interceptMouse.IsHooked) { _interceptMouse.Unhook(); } base.Cleanup(); }