覆盖用于检测WPF中的多个控件的HitTestCore方法

时间:2009-07-27 00:11:01

标签: wpf override hittest

我正在创建一个自定义控件,可以对其子项进行测试。我打算重写HitTestCore方法以返回多个控件,这些控件位于Geometric区域内或与Geometric区域相交。只是想知道是否有其他人尝试过这个。你有什么指示吗?或者是否有其他方法可以做到这一点(实际上没有覆盖HitTestCore方法)?在此先感谢您的帮助。 :)

1 个答案:

答案 0 :(得分:0)

所以,我能够得到多个控件似乎我不需要覆盖HitTestCore方法。

我创建了一个HitTestFilterCallback,每当它点击CheckBox(这是我正在测试的控件类型)时,我将其保存到名为_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;

    }