WPF应用程序的外部事件

时间:2014-01-20 18:31:01

标签: c# wpf

我想以编程方式运行我的WPF应用程序,因此使用Application类并调用Run方法。

Application app = new Application();
app.Run(new MainWindow());

我现在想以编程方式将事件发送到WPF应用程序以模拟按钮点击,但不确定最佳方法。

有关信息,我的目标是从Python脚本运行我的应用程序并激活一些控件。为了在WPF中实现这一点,我将应用程序转换为库并创建COM组件。所以我的COM服务器类可以访问Application对象,因此我希望将按钮点击事件发布到正在运行的Window。

进一步编辑:似乎主要问题是Run()方法在Window关闭之前不会返回。所以我遇到的问题是我想调用Run()以非阻塞的方式执行应用程序,然后找到一种向它发布消息或事件的方法。

非常感谢。感谢。

2 个答案:

答案 0 :(得分:1)

根据您要完成的任务,您可以通过查看Microsoft.VisualStudio.TestTools.UITesting.WpfControls命名空间和UITesting世界其他部分中包含的功能来获得良好的服务。

答案 1 :(得分:1)

听起来您已将应用程序代码与WPF事件紧密结合。虽然可以自动化这种类型的用户交互,但我强烈建议通过将代码放在一个独立于UI的独立程序集中来解耦该代码(即通过参数而不是UI控件获取输入等)。

这样您就可以自动化您的应用代码,而无需通过用户界面。