我有一个WPF窗口.I想要,当我的鼠标光标在窗口的控制区域之外,我点击它,我希望我的窗口消失,有什么机制来实现它彻底WPF?
发布于 2011-05-05 07:27:57
看看Mouse.Capture方法。这使您可以获得鼠标事件,即使鼠标超出了您的控制范围。
一旦完成,一定要释放鼠标,只需用null调用Capture。
要释放鼠标捕获,调用capture传递null作为要捕获的元素。
在构造函数中放置以下内容:
public MyControl()
{
//Other stuff like initialize component
Mouse.Capture(this);
MouseLeftButtonDown += OnMouseLeftButtonDown;
}然后实现该方法:
private void OnMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
if(!this.IsMouseOver)
{
Close(); //your closing implementation here
Mouse.Capture(null);
}
}https://stackoverflow.com/questions/5894050
复制相似问题