【WPF】代码触发Button点击事件

先定义Button按钮并绑定事件。

public void test()
{
    Button btn = new Button();
    btn.Click += Btn_Click;
}

private void Btn_Click(object sender, RoutedEventArgs e)
{
     Console.WriteLine("点击了按钮!");
}

已经定义好了事件后,不点击按钮,如何靠代码动态触发按钮的点击事件?

方法一:

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

方法二:更优雅的方式

someButton.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));

参考:

原文地址:https://www.cnblogs.com/guxin/p/wpf-programmatically-click-a-button.html