天天看點

【WPF】代碼觸發Button點選事件

原文: 【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));      

參考: