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

时间:2012-06-11 00:22:47

标签: windows-8 microsoft-metro

在C#中使用Metro风格的应用程序。我有一个继承自Grid的自定义控件。 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();
}

执行此代码后,hitCount为0.如果我将PointerReleased处理程序移动到可视树层次结构中的一个控件更高,则hitCount第一次正确,之后为0。我设置了一个具有类似XAML布局的测试项目,试图重现问题并且每次都能正常工作。所以我不确定我做了什么坏事阻止VisualTreeHelper工作。我不确定如何继续调试这个。什么会导致这个函数没有返回结果?

0 个答案:

没有答案