在WPF应用程序中,我正在尝试创建一个按钮,使用button.performclick按下按键,但我不确定如何实例化并向我的UI添加一个forms.button。目前我正在使用controls.button,如果有办法用那些对我来说简单得多的方法。 这就是我想要做的事情:
System.Windows.Forms.Button ButtonA = new System.Windows.Forms.Button();
beatGrid.Children.Add(ButtonA);
但我收到此错误: 'system.windows.control.uielementcollection.add(system.windows.uielement)'的最佳重载方法匹配有一些无效的参数
答案 0 :(得分:0)
看起来您正在使用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
。