Since there's no
button.PerformClick() method in WPF, is there a way to click a WPF button programmatically?
WPF takes a slightly different approach than WinForms here. Instead of having the automation of a object built into the API, they have a separate class for each object that is responsible for automating it. In this case you need the
ButtonAutomationPeer to accomplish this task.
ButtonAutomationPeer peer = new ButtonAutomationPeer(someButton); IInvokeProvider invokeProv = peer.GetPattern(PatternInterface.Invoke) as IInvokeProvider; invokeProv.Invoke();
Here is a blog post on the subject.
IInvokeProvider interface is defined in the
Like JaredPar said you can refer to Josh Smith's article towards Automation. However if you look through comments to his article you will find more elegant way of raising events against WPF controls
I personally prefer the one above instead of automation peers.