XAML ToolTip + IsHitTestVisible ="False"

Sea*_*n B 6 c# wpf user-interface xaml

我们的View1需要鼠标点击和拖动"忽略",但工具提示仍必须在该视图中运行.原因是View1在Z-Order中高于View2,因此View1可以将View2着色为红色并通过ToolTip显示警告; 但是,如果IsHitTestVisible ="False",View1附带的工具提示将不起作用.

任何人都知道一个解决方法,因此ToolTip将在鼠标移动/结束时显示,其余的鼠标事件将被View1忽略并转到View2?

谢谢,

肖恩

Sea*_*n B 1

我所做的事情不太好:

    private void UserControl_Loaded(object sender, RoutedEventArgs e)
    {
        var parentWindow = Window.GetWindow(this);
        var source = PresentationSource.FromVisual(parentWindow) as HwndSource;

        source.AddHook(WndProc);
    }

    private IntPtr WndProc(IntPtr hwnd, int msg, IntPtr wParam, IntPtr lParam, ref bool handled)
    {
        // Handle messages... 
        if (msg == WM_MOUSEMOVE)
        {
        ...show tool tip if mouse is over it
        }
        return IntPtr.Zero;
    }
Run Code Online (Sandbox Code Playgroud)