繁体   English   中英

如何使用DataTemplate刷新WPF AutomationElement-Windows UI Automation

[英]How to refresh WPF AutomationElement with DataTemplate - Windows UI Automation

我正在尝试使用Windows UI Automation自动执行WPF应用程序的测试。

该应用程序具有一个ContentControl ,该控件带有一个数据模板,该模板会根据用户交互而更改。

在初始加载时,我可以获取并单击内容控件内部的按钮。 这将切换数据模板(子控件将被删除并替换为其他子控件)。

但是,当我在自动化元素中寻找新控件时,找不到它们。

我正在使用包装器FlaUI ,但是我也尝试了White ,它们都具有相同的结果。

我没有使用缓存,但是好像窗口以某种方式被缓存了。 有没有一种方法可以重新加载元素或整个窗口,以便我可以检索新控件。

FlaUI的FAQ上找到了解决方案。

使用DevExpress控件时,某些内容(如选项卡内容)不会更新默认情况下,DevExpress控件不会引发自动化事件,因为这些事件可能会降低应用程序性能。 为了确保正确引发事件,请在应用程序启动时将ClearAutomationEventsHelper.IsEnabled静态属性设置为false(需要在使用FlaUI自动化的应用程序中完成):

ClearAutomationEventsHelper.IsEnabled = false;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM