2014-01-20 126 views
0

我想以编程方式进行的,因此我的WPF应用程序正在使用的应用程序类,并调用运行方法。外部事件WPF应用程序

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

现在我想以编程方式将事件发送到WPF应用程序来模拟按钮点击但是我不确定要做到这一点的最好办法。

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

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

非常感谢。谢谢。

回答

1

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

+0

谢谢。我考虑过这个,但这不是我要找的。我更新了我的帖子来详细说明。 – user1400716

1

这听起来像你已经紧密结合您的应用程序代码WPF事件。虽然你可以自动化该类型的用户交互,我会强烈建议去耦,将其置于一个单独的程序,是独立UI的代码(即需要输入参数通过,而不是从UI控件等)。

通过这种方式,您无需通过用户界面即可自动执行应用程序代码。

+0

谢谢。有趣的一点。该模型可以放置在单独的组件中。为此,使WPF GUI运行是有利的。 – user1400716