我正在编写一个自定义控件,我希望该控件在用户单击控件时从编辑状态切换到正常状态。我正在处理LostFocus事件,当用户离开或单击另一个可聚焦的控件时,这会有所帮助。但是如果他们不点击Focusable的东西,它就不会退出它的编辑状态。所以我想到了两个解决方案:当元素进入编辑状态时,将树向上移动到最顶层元素,并为MouseDownEvent添加处理程序(并处理“已处理”事件)。在处理程序中,我会将控件踢出它的编辑状态,并从最顶层的元素中删除处理程序。这看起来有点像hack,但它可能会运作良好。示例代码:privatevoidRegisterTopMostParentMouseClick