在使元素可见后访问WPF DataGrid

时间:2013-06-20 10:08:44

标签: wpf datagrid gui-testing

目前我遇到的问题很简单。它关于自动GUI测试。

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

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

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

1 个答案:

答案 0 :(得分:1)

要确保更新布局,请在ScrollIntoView之后和想要使用项目之前致电UIElement.UpdateLayout。引用MSDN吧

  

确保为布局正确更新此元素的所有可视子元素。