0

子のヒットテストを行うカスタムコントロールを作成しています。メソッドをオーバーライドHitTestCoreして、ジオメトリ領域内にあるか、ジオメトリ領域と交差する複数のコントロールを返すことを計画しています。他の誰かがこれを試したかどうか疑問に思っています。私へのアドバイスはありますか?または、(実際にHitTestCoreメソッドをオーバーライドせずに)これを行うことができる別の方法はありますか?助けてくれてありがとう。:)

4

1 に答える 1

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;

    }
于 2009-07-29T07:07:42.813 に答える