Windows 8 为什么VisualTreeHelper.FindElementsInHostCoordinates不返回任何结果?

Windows 8 为什么VisualTreeHelper.FindElementsInHostCoordinates不返回任何结果?,windows-8,microsoft-metro,Windows 8,Microsoft Metro,在C#中开发Metro风格的应用程序。我有一个从网格继承的自定义控件。MyGrid包含一些其他自定义控件。我正在尝试对PointerReleased处理程序中的那些控件进行命中测试: void MyGrid_PointerReleased(object sender, PointerRoutedEventArgs e) { PointerPoint pt = e.GetCurrentPoint(this); var hits = VisualTreeHelper.FindElem

在C#中开发Metro风格的应用程序。我有一个从网格继承的自定义控件。MyGrid包含一些其他自定义控件。我正在尝试对PointerReleased处理程序中的那些控件进行命中测试:

void MyGrid_PointerReleased(object sender, PointerRoutedEventArgs e)
{
    PointerPoint pt = e.GetCurrentPoint(this);
    var hits = VisualTreeHelper.FindElementsInHostCoordinates(pt.Position, this);
    int breakhere = hits.Count();
}
执行此代码后,命中率为0。如果我将PointerReleased处理程序在可视化树继承者权限中向上移动一个控件,则第一次命中计数正确,之后为0。我设置了一个具有类似XAML布局的测试项目,试图重现问题,并且每次都能正常工作。因此,我不确定我做了什么坏事阻止了VisualTreeHelper的工作。我真的不确定如何继续调试这个。知道什么会导致此函数不返回结果吗