目前我遇到的问题很简单。它关于自动GUI测试。
我想通过使用ScrollIntoView(行)滚动然后直接访问行/单元,使WPF DatGrid的行/单元完全可见。不幸的是,在ScrollViewer中滚动似乎是异步发生的。这意味着我需要在访问行/单元格之前等待滚动完成。为此我找到了我可以订阅的ScrollChanged事件。
我只能解决一个细节:如果我想要访问的行/单元格已经可见(并且不需要滚动)我没有得到该事件并且算法被卡住了。我无法找到一种可靠的方法来预测对ScrollIntoView(行)的调用是否实际滚动。
知道如何解决这个问题吗?
答案 0 :(得分:1)
要确保更新布局,请在ScrollIntoView
之后和想要使用项目之前致电UIElement.UpdateLayout
。引用MSDN吧
确保为布局正确更新此元素的所有可视子元素。