WPF UI自动化 - 控制树未点击直到区域单击TabControl

时间:2011-07-28 09:32:11

标签: c# wpf automation ui-automation microsoft-ui-automation

我正在使用Microsoft UI Automation库为WPF应用程序进行UI自动化,并且运行良好。

但是我的应用程序在TabControl中有四个屏幕。即使我通过代码单击选项卡项,其子控件树也不会填充。我能看到的唯一控件是“拇指”控件。当我看到带有UISpy的控制树时也会发生同样的情况。

但是,如果单击该窗口,则会显示所有控件。作为一种解决方法,我正在模拟鼠标点击代码并且它可以工作。我想知道是否有更好的方法。

2 个答案:

答案 0 :(得分:0)

我遇到了类似的问题。发生的事情是在线程上检索了一些数据,并且在生成自动化对等点时没有生成控件。我建议如果你有权访问应用程序的代码库,那么你试图自动查看是否正在使用线程。在我的具体情况下,这是因为BeginInvokes用于检索数据,我将它们切换到Invokes并且工作正常。

另外,从我可以说出鼠标悬停显示控件的原因是因为工具提示生成了弹出窗口并导致自动化对等体更新。

答案 1 :(得分:-1)

为什么不使用鼠标事件单击控件,如果有效的话。

(现在,如果你还有这个问题......)

How to simulate Mouse Click in C#?