0

目前,我遇到了一个乍一看很简单的问题。它是关于自动化 GUI 测试的。

我想通过使用 ScrollIntoView(row) 滚动然后直接访问行/单元格来使 WPF DatGrid 的行/单元格完全可见。不幸的是,ScrollViewer 中的滚动似乎是异步发生的。这意味着我需要等待滚动完成才能访问行/单元格。为此,我找到了可以订阅的 ScrollChanged 事件。

只有一个细节我无法解决:如果我想要访问的行/单元格已经可见(并且不需要滚动),我不会收到该事件并且算法会卡住。我无法找到一种可靠的方法来预测对 ScrollIntoView(row) 的调用是否实际滚动。

知道如何解决这个问题吗?

4

1 回答 1

1

为了确保布局UIElement.UpdateLayout在您之后ScrollIntoView和您想要使用项目之前更新。引用 MSDN 吧

确保此元素的所有可视子元素都针对布局进行了正确更新。

于 2013-06-20T12:56:34.357 回答