在WPF中有一种方法可以确定另一个控件是否捕获了鼠标?

时间:2011-11-10 11:50:09

标签: c# wpf

我的应用程序中有一个控件,需要知道可视树中的任何其他控件何时捕获鼠标。

这可能吗?

1 个答案:

答案 0 :(得分:2)

使用Mouse.GotMouseCapture附加活动。

public partial class MainWindow : Window {
    public MainWindow() {
        InitializeComponent();
    }
    static MainWindow() {
        EventManager.RegisterClassHandler(typeof(UIElement), Mouse.GotMouseCaptureEvent, new MouseEventHandler(MainWindow_GotMouseCapture));
    }
    static void MainWindow_GotMouseCapture(object sender, MouseEventArgs e) {
        // e.OriginalSource is a captured element
    }
}

请注意,捕获的元素可通过Mouse.Captured静态属性获得。