C# WPF测试窗口拇指区域?

C# WPF测试窗口拇指区域?,c#,wpf,xaml,C#,Wpf,Xaml,我有一个wpf窗口,带有一个自定义的“header”/“thumb”模板。 自定义含义-在“拇指”窗口中添加了几个按钮 我试图解决的问题是“关闭”窗口标题双击功能(默认情况下最大化窗口) 我所做的-我订阅了窗口。预览鼠标双击事件, 然后做了下面的事情 void OnPreviewMouseDoubleClick(object sender, someargs e){ e.handled = true } 我的问题是-我只需要这样做,如果双击发生在拇指区域。(上面的代码禁止双击窗口中的所

我有一个
wpf
窗口,带有一个自定义的“header”/“thumb”模板。 自定义含义-在“拇指”窗口中添加了几个按钮

我试图解决的问题是“关闭”窗口标题双击功能(默认情况下最大化窗口)

我所做的-我订阅了
窗口。预览鼠标双击
事件,
然后做了下面的事情

void OnPreviewMouseDoubleClick(object sender, someargs e){
    e.handled = true
}
我的问题是-我只需要这样做,如果双击发生在拇指区域。(上面的代码禁止双击窗口中的所有控件)

因此,问题是如何从代码中访问thumb元素:

void OnPreviewMouseDoubleClick(object sender, someargs e){
   var pos = e.GetPosition((UIElement) sender);

   if (VisualTreeeHelper.HitTest(XXXXXXXXXXXXXXXX, post))
          e.handled = true
}
你知道我应该用什么来代替XXXXXXXXXX吗

我的窗口模板如下所示

我以为这应该行得通,但我得到了一个空值

 var z = this.Template.FindName("HeaderBorder", (FrameworkElement)sender);

答案是这个案子很简单

 private void TimersCollectionWindow_OnMouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            //Disable Double click inside the Title Bar
            var elem = VisualTreeHelper.HitTest(FloatingContainerHeader, e.GetPosition(FloatingContainerHeader));
            if (elem != null) e.Handled = true;


        }

由于DevXPress公开了“FloatingContainerHeader”的内容:)

如果你有网格名称,可能是网格名称?如果有帮助,我添加了一个屏幕。边界可能是这里的问题。您可以用网格或画布包装边框,并像这样使用:
visualtreeheloper.HitTest(canvasName/gridName,post)立即使用网格?我想一定是因为边境有问题。是一个很薄的视觉元素。