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