在 WPF 应用程序中,我正在尝试创建一个按钮,该按钮使用 button.performclick 通过击键按下,但我不确定如何实例化并将 forms.button 添加到我的 UI。目前我正在使用 controls.button,如果有一种方法可以用那些对我来说更简单的方法做到这一点。这是我试图做的:
System.Windows.Forms.Button ButtonA = new System.Windows.Forms.Button();
beatGrid.Children.Add(ButtonA);
但是我收到此错误:'system.windows.control.uielementcollection.add(system.windows.uielement)' 的最佳重载方法匹配有一些无效参数
看起来您正在使用WPF
但不知道 WPF 中Button
的实际类,这里是:
System.Windows.Controls.Button ButtonA = new System.Windows.Controls.Button();
但是,您应该使用XAML
代码进行 UI 设置。因为它经过优化,可以在XAML
中使用,并且过程代码会变得尴尬。
更新
要以编程方式单击按钮 WPF
,我们必须使用Automation
这有点棘手。为方便起见,请尝试以下扩展方法:
public static class ButtonExtension {
public static void PerformClick(this Button button){
var buttonPeer = new System.Windows.Automation.Peers.ButtonAutomationPeer(button);
var invoker = buttonPeer.GetPattern(PatternInterface.Invoke) as IInvokeProvider;
invoker.Invoke();
}
}
//Usage
yourButton.PerformClick();
我希望您了解如何使用extension method
.