我遇到一些麻煩,試圖通過HitTestResultCallback訪問用戶控件,我可以找到我的用戶裏面所有的控制,但我想要做的就是訪問用戶控件類,這裏是我的代碼:HitTestResultCallback找不到用戶控件
public void DragStartInteraction()
{
VisualTreeHelper.HitTest(Application.Current.MainWindow, null, new HitTestResultCallback(myCallbackDragStartEvent), new PointHitTestParameters(_currentPoint));
...
}
private HitTestResultBehavior myCallbackDragStartEvent(HitTestResult result)
{
...
UserControl el = result.VisualHit as UserControl;
...
return HitTestResultBehavior.Continue;
}
謝謝!
我得到了相同的結論,不幸的是不能過濾使用HitTestFilterCallback,我認爲這應該是我們無法找到HitTestResultCallback UserControl的同樣原因,但無論如何感謝。 – 2013-03-22 14:25:48
我不認爲這是「我們無法在HitTestResultCallback上找到UserControl的相同原因」。這些回調肯定要求一組不同的視覺效果。上面顯示的解決方案至少用我測試過的簡單UserControl工作。 – Clemens 2013-03-22 15:37:44
我的不好,它使用過濾器。在我的解決方案中,我沒有過濾,只是從最頂級的UIElement獲得父級,它解決了我的問題,但很好的知道它可以通過用戶控制進行過濾,這是做同樣事情的更好方法。謝謝! – 2013-03-22 18:19:20