protected static void InvokeButton(ButtonBase button)
        {
            ButtonBaseAutomationPeer buttonPeer           = ButtonBaseAutomationPeer.CreatePeerForElement(button) as ButtonBaseAutomationPeer;
            IInvokeProvider          buttonInvokeProvider = buttonPeer.GetPattern(PatternInterface.Invoke) as IInvokeProvider;

            buttonInvokeProvider.Invoke();
        }
        public static void ClickButton(ButtonBase button)
        {
            ButtonBaseAutomationPeer peer    = FrameworkElementAutomationPeer.CreatePeerForElement(button) as ButtonBaseAutomationPeer;
            IInvokeProvider          invoker = peer.GetPattern(PatternInterface.Invoke) as IInvokeProvider;

            invoker.Invoke();
            DispatcherHelper.UpdateLayoutAndDoEvents(button);
        }