当我调用TransformPattern.Resize或TransformPattern.Move时,窗口消失。我仍然可以与窗口的AutomationElement进行交互,但无法在屏幕上看到它。 AutomationElement也反映了所做的更改。
当我使用Inspect时,相同的宽度/高度/ x / y值调整大小/移动很好(即窗口不会消失)。
我的代码:
DeleteUserRole(int roleId, UserInfo user, PortalSettings portalSettings, bool notifyUser);
DeleteUserRole(int userId, RoleInfo role, PortalSettings portalSettings, bool notifyUser);
DeleteUserRole(int portalId, int userId, int roleId);
(窗口的原始大小是(792,800))
我做错了什么?
答案 0 :(得分:0)
我们的团队在Windows上实现转换模式方法时遇到了同样的问题。
我无法在微软方面找到任何详细说明此问题的文档错误。
两种可能的解决方法。
1)你可以利用P / Invoke和SetWindowPos基本上伪造它,但得到相同的结果。
2)使用P / Invoke调用通过SetForegroundWindow和ShowWindow使窗口重新聚焦。
这两个选项都不是最佳选择,但它们为我们解决了问题,并允许消费者使用围绕P / Invoke调用的一些包装来移动和调整窗口大小。
还值得注意的是,TestStack.White开发者(我没有关联)遇到了同样的问题:https://github.com/TestStack/White/issues/205
希望这有帮助!