先定義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));
參考: