由于WPF中没有button.PerformClick()方法,有没有办法以编程方式单击WPF按钮?

推荐答案

在这里,WPF采用的方法与WinForms略有不同.他们没有将对象的自动化内置到API中,而是 for each 负责自动化的对象都有一个单独的类.在这种情况下,您需要ButtonAutomationPeer来完成此任务.

ButtonAutomationPeer peer = new ButtonAutomationPeer(someButton);
IInvokeProvider invokeProv = peer.GetPattern(PatternInterface.Invoke) as IInvokeProvider;
invokeProv.Invoke();

Here是一篇关于这个主题的博客文章.

注:UIAutomationProvider组件中定义了IInvokeProvider接口.

.net相关问答推荐

为什么Linq中的运算符逻辑不匹配结果,当值为0或在VB. NET中没有

.NET 7,8 System.Text.Json反序列化多态参数

ZstdNet库的问题:Src大小不正确,异常

向从 .NET 序列化的对象添加 Xml 属性

在 ASP.NET MVC 中我可以在哪里放置自定义类?

如何从控制台应用程序中的 Task.WaitAll() 获取返回值?

如何让 DateTimePicker 显示一个空字符串?

有没有办法以编程方式最小化窗口

C# 有办法给我一个不可变的字典吗?

是否可以更改 Winforms 组合框以禁用输入?

如何将时间设置为当天的午夜?

公钥令牌的作用是什么?

返回 IList 是否比返回 T[] 或 List 更糟糕?

互锁且易变

如何修复 .NET Windows 应用程序在启动时崩溃并出现异常代码:0xE0434352?

如何访问 Session 变量并在 javascript 中设置它们?

Roslyn 编译代码失败

System.ServiceModel 在 .NET Core 项目中找不到

没有科学记数法的双精度字符串转换

如何使用 AutoMapper .ForMember?