先定义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));
参考: