Пример #1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="WinFormsKeyAndMouseInputHandler"/> class.
        /// </summary>
        public WinFormsKeyAndMouseInputHandler()
        {
            _stateMouseOrPointer = new MouseOrPointerState();
            _stateMouseOrPointer.Internals.Type = MouseOrPointerType.Mouse;

            _stateKeyboard = new KeyboardState();
        }
        /// <summary>
        /// Stops input handling.
        /// </summary>
        public void Stop()
        {
            // Deregister all events
            var rendererElement = _rendererElement;

            rendererElement?.Dispatcher?.BeginInvoke(new Action(() =>
            {
                rendererElement.MouseWheel        -= this.OnRendererElement_MouseWheel;
                rendererElement.MouseDown         -= this.OnRendererElement_MouseDown;
                rendererElement.MouseUp           -= this.OnRendererElement_MouseUp;
                rendererElement.MouseMove         -= this.OnRendererElement_MouseMove;
                rendererElement.MouseLeave        -= this.OnRendererElement_MouseLeave;
                rendererElement.LostFocus         -= this.OnRendererElement_LostFocus;
                rendererElement.LostKeyboardFocus -= this.OnRendererElement_LostKeyboardFocus;
                rendererElement.GotFocus          -= this.OnRenderElement_GotFocus;
                rendererElement.PreviewMouseUp    -= this.OnRendererElement_PreviewMouseUp;
                rendererElement.KeyUp             -= this.OnRendererElement_KeyUp;
                rendererElement.PreviewKeyDown    -= this.OnRendererElement_PreviewKeyDown;
            }));

            _rendererElement = null;

            _stateKeyboard       = new KeyboardState();
            _stateMouseOrPointer = new MouseOrPointerState();
        }
 internal MouseOrPointerStateInternals(MouseOrPointerState host)
 {
     _host = host;
 }