2009-07-27 69 views
0

我正在創建一個自定義控件,該控件確實對其子項進行了測試。我打算重寫HitTestCore方法以返回落在幾何區域內或與幾何區域相交的多個控件。只是想知道是否有人試過這個。你對我有什麼建議嗎?還是有另一種方法,我可以做到這一點(沒有實際覆蓋HitTestCore方法)?預先感謝您的幫助。 :)用於檢測WPF中的多個控件的重載HitTestCore方法

回答

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; 

    }