我有一个上下文菜单(来自 infragistics 的 PopupMenuControlTrusted 控件)
使用inspect.exe我可以轻松找到菜单和子菜单项使用UI自动化验证(http://uiautomationverify.codeplex.com/)我可以找到一些困难的菜单项我需要将鼠标悬停在控件上才能找到它,此时找到具有正确窗口句柄但没有子级的上下文菜单。然后我必须告诉程序再次找到上下文菜单,此时所有子菜单项都找到了。
当我通过代码执行此操作时,我永远找不到孩子,TreeWalker.RawWalker.GetFirstChild(menu) 总是返回 null 我正在引用 UIAComWrapper(与 UI 自动化验证工具中使用的相同)
我尝试使用 ControlWalker,在元素上发送 CacheRequest.Current,但我找不到任何子元素
以前有人遇到过这个问题吗,或者可以给我任何指导以帮助我做什么?
编辑 我实际上发现 AutomationElement.FromPoint 可以找到内部元素,从那里我可以使用 tree walker 找到父元素,父元素原来是我之前拥有的菜单,但我仍然无法从中找到子元素菜单,谁能解释一下?我在这里很困惑