当自定义控件被禁用时,我希望能够处理MouseEnter事件。有没有办法处理它?
当自定义控件被禁用时,我希望能够处理MouseEnter事件。有没有办法处理它?
UIElement.IsEnabled
的文档记录了您看到的行为:
未启用的元素不参与命中测试或焦点,因此不会成为输入事件的源。
对我而言,逻辑上的结论是,如果您确实想要处理鼠标事件,则不应禁用控件。相反,请使用其他方法来实现您想要的效果。例如,如果它是一个输入控件,则将其设置为只读状态可能已经足够,而不是禁用它。由于您的问题没有真正解释为什么需要这样做,因此我无法猜测对您来说正确的方法是什么。
也许你可以在自定义控件周围加上一个ContentControl
(必须始终启用),并处理ContentControl
的MouseEnter
事件。
ToolTipService.ShowOnDisabled
属性,工具提示仍然可以弹出。如何捕获鼠标进入事件? - pilavustInputManager.Current.PostProcessInput
。但也许ToolTipService.AddToolTipOpeningHandler
对您来说更合适? - user743382