Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WPF中检测多个控件的TestCore方法_Wpf_Overriding_Hittest - Fatal编程技术网

WPF中检测多个控件的TestCore方法

WPF中检测多个控件的TestCore方法,wpf,overriding,hittest,Wpf,Overriding,Hittest,我正在创建一个自定义控件,它对其子控件进行命中测试。我计划重写HitTestCore方法,以返回位于几何区域内或与几何区域相交的多个控件。只是想知道是否有人试过这个。你有什么建议给我吗?或者有没有其他方法可以在不重写HitTestCore方法的情况下实现这一点?提前感谢您的帮助 因此,我能够获得多个控件,似乎不需要重写HitTestCore方法 我创建了一个HitTestFilterCallback,每当它点击一个复选框(我在测试中被点击的控件类型),我就将它保存到一个名为_hitTestRes

我正在创建一个自定义控件,它对其子控件进行命中测试。我计划重写HitTestCore方法,以返回位于几何区域内或与几何区域相交的多个控件。只是想知道是否有人试过这个。你有什么建议给我吗?或者有没有其他方法可以在不重写HitTestCore方法的情况下实现这一点?提前感谢您的帮助

因此,我能够获得多个控件,似乎不需要重写HitTestCore方法

我创建了一个HitTestFilterCallback,每当它点击一个复选框(我在测试中被点击的控件类型),我就将它保存到一个名为_hitTestResults的列表中。但我不确定这样做是否正确:S

以下是我所做的:

HitTestFilterBehavior OnHitTestFilter(DependencyObject target)
    {
        if (target.GetType() == typeof(CheckBox))
        {
            _hitTestResults.Add(target as CheckBox); // add the hittest result
            return HitTestFilterBehavior.ContinueSkipChildren;
        }
        else
            return HitTestFilterBehavior.Continue;

    }