模拟按键和/或实例化表单按钮



在 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.

最新更新