Inheritance: System.Windows.Automation.Peers.ButtonBaseAutomationPeer, IInvokeProvider
 private static void SimulateButtonClick(Button button)
 {
     if (button == null) return;
     ButtonAutomationPeer peer = new ButtonAutomationPeer(button);
     IInvokeProvider invokeProv = peer.GetPattern(PatternInterface.Invoke) as IInvokeProvider;
     invokeProv.Invoke();
 }
Esempio n. 2
0
        public static void PerformClick(this System.Windows.Controls.Button button)
        {
            var buttonPeer = new System.Windows.Automation.Peers.ButtonAutomationPeer(button);
            var invoker    = buttonPeer.GetPattern(PatternInterface.Invoke) as IInvokeProvider;

            invoker.Invoke();
        }
Esempio n. 3
0
        public override string DoImpl()
        {
            var buttonName = this.Action == With.Accept ? "LeftButton" : "RightButton";

            var popups = VisualTreeHelper.GetOpenPopups();
            foreach (var popup in popups)
            {
                var popupChild = popup.Child;
                var element = (FrameworkElement)Finder.GetDescendantsBy(popupChild, new By("name", buttonName)).FirstOrDefault() as Button;
                if (element == null)
                {
                    continue;
                }

                var peer = new ButtonAutomationPeer(element);
                var invokeProv = peer.GetPattern(PatternInterface.Invoke) as IInvokeProvider;
                if (invokeProv == null)
                {
                    continue;
                }

                invokeProv.Invoke();
                return null;
            }

            throw new AutomationException("No alert is displayed", ResponseStatus.NoAlertOpenError);
        }
        public BarcodeManagerView()
        {
            InitializeComponent();

            ProductCode.GotKeyboardFocus += GotFocus;
            EanCode.GotKeyboardFocus += GotFocus;
            Quantity.GotKeyboardFocus += GotFocus;

            ProductCode.FocusOnEnter(EanCode);
            EanCode.FocusOnEnter(Quantity);
            Quantity.FocusOnEnter(AddBarcode);
            AddBarcode.FocusOnEnter(ProductCode);

            AddBarcode.KeyUp += (sender, args) =>
                                  {
                                      if (args.Key == Key.Return || args.Key == Key.Enter)
                                      {
                                          ProductCode.Focus();
                                          var peer = new ButtonAutomationPeer(sender as Button);

                                          var invokeProv = peer.GetPattern(PatternInterface.Invoke) as IInvokeProvider;

                                          invokeProv.Invoke();
                                      }
                                  };
        }
Esempio n. 5
0
        private static void OnDefaultButtonChanged(object sender, DependencyPropertyChangedEventArgs args)
        {
            var uiElement = args.NewValue as UIElement;
            var button = args.NewValue as Button;
            if (uiElement != null && button != null)
            {
                uiElement.KeyUp += (sender2, arg) =>
                {
                    var peer = new ButtonAutomationPeer(button);

                    if (arg.Key == Key.Enter)
                    {
                        peer.SetFocus();
                        uiElement.Dispatcher.BeginInvoke((Action)delegate
                        {

                            var invokeProv =
                                peer.GetPattern(PatternInterface.Invoke) as IInvokeProvider;
                            if (invokeProv != null)
                                invokeProv.Invoke();
                        });
                    }
                };
            }
        }
Esempio n. 6
0
        private static void DefaultButtonChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            var uiElement = d as UIElement;
            var button = e.NewValue as Button;
            if (uiElement != null && button != null)
            {
                uiElement.KeyUp += (sender, arg) =>
                {
                    // If button is disabled then enter key should do nothing
                    if (!button.IsEnabled) return;

                    var peer = new ButtonAutomationPeer(button);

                    if (arg.Key == Key.Enter)
                    {
                        peer.SetFocus();
                        uiElement.Dispatcher.BeginInvoke((Action)delegate
                        {

                            var invokeProv =
                                peer.GetPattern(PatternInterface.Invoke) as IInvokeProvider;
                            if (invokeProv != null)
                                invokeProv.Invoke();
                        });
                    }
                };
            }
        }
 /****************************************************************
  * Public Methods
  **/
 /// <summary>
 /// Trigger Show Picker
 /// </summary>
 public void ClickTemplateButton()
 {
     Button button = (GetTemplateChild("DateTimeButton") as Button);
     ButtonAutomationPeer peer = new ButtonAutomationPeer(button);
     IInvokeProvider provider = (peer.GetPattern(PatternInterface.Invoke) as IInvokeProvider);
     provider.Invoke();
 }
 public void Open()
 {
     var btn = GetTemplateChild("DateTimeButton") as Button;
     var peer = new ButtonAutomationPeer(btn);
     var provider = peer.GetPattern(PatternInterface.Invoke) as IInvokeProvider;
     if (provider != null)
         provider.Invoke();
 }
Esempio n. 9
0
        private void ProcessClick()
        {
            ButtonAutomationPeer peer = new ButtonAutomationPeer(this);

            IInvokeProvider invokeProv = peer.GetPattern(PatternInterface.Invoke) as IInvokeProvider;

            invokeProv.Invoke();
        }
Esempio n. 10
0
 /// <summary>
 /// Helper method to programmatic click a WPF button
 /// </summary>
 /// <param name="button"></param>
 private static void ClickButton(Button button)
 {
     ButtonAutomationPeer peer =
         new ButtonAutomationPeer(button);
     IInvokeProvider invokeProv =
         peer.GetPattern(PatternInterface.Invoke)
         as IInvokeProvider;
     invokeProv.Invoke();
 }
 private void CommandTextBox_KeyDown(object sender, KeyEventArgs e)
 {
     if (e.Key == Key.Enter)
     {
         ButtonAutomationPeer peer = new ButtonAutomationPeer(ExecuteCmdButton);
         IInvokeProvider invokeProv = peer.GetPattern(PatternInterface.Invoke) as IInvokeProvider;
         invokeProv.Invoke();
         FocusManager.SetFocusedElement(this, CommandTextBox);
         Keyboard.Focus(CommandTextBox);
     }
 }
 private void edInput_KeyDown(object sender, KeyEventArgs e)
 {
     if (e.Key == Key.Enter)
     {
         ButtonAutomationPeer peer = new ButtonAutomationPeer(btEnterCommand);
         IInvokeProvider invokeProv =
           peer.GetPattern(PatternInterface.Invoke)
           as IInvokeProvider;
         invokeProv.Invoke();
     }
 }
Esempio n. 13
0
 private void LeftTape_KeyDown(object sender, KeyEventArgs e)
 {
     if (e.Key == Key.Enter)
     {
         Connect_Clicked(sender, e);
         ButtonAutomationPeer peer = new ButtonAutomationPeer(Connect);
         IInvokeProvider invokeProv = peer.GetPattern(PatternInterface.Invoke) as IInvokeProvider;
         if(invokeProv != null)
             invokeProv.Invoke();
     }
 }
Esempio n. 14
0
        private static void ButtonOnKeyUp(object sender, KeyEventArgs args)
        {
            var peer = new ButtonAutomationPeer(sender as Button);

            if (args.Key == Key.Enter)
            {
                peer.SetFocus();
                (sender as Button).Dispatcher
                    .BeginInvoke(() =>
                                 {
                                     var invokeProv = peer.GetPattern(PatternInterface.Invoke) as IInvokeProvider;
                                     if (invokeProv != null) invokeProv.Invoke();
                                 });
            }
        }
        public void Test_we_can_set_a_value_and_click_a_button()
        {
            _automationPeerSample = new AutomationPeerSample();
            TestPanel.Children.Add(_automationPeerSample);

            var textBoxPeer = new TextBoxAutomationPeer(_automationPeerSample.txtPhotoUrl);
            var valueProvider = (IValueProvider)textBoxPeer;
            var buttonPeer = new ButtonAutomationPeer(_automationPeerSample.cmdAdd);
            var buttonInvoker = (IInvokeProvider)buttonPeer;

            EnqueueCallback(() => valueProvider.SetValue("http://farm4.static.flickr.com/3085/3092376392_dc1aaf9eb6.jpg"));
            EnqueueConditional(buttonPeer.IsEnabled);
            EnqueueCallback(buttonInvoker.Invoke);

            EnqueueTestComplete();
        }
        private void UserNameBox_OnPreviewKeyDown(object sender, KeyEventArgs e)
        {
            switch (e.Key)
            {
                case Key.Space:
                    e.Handled = true;
                    break;
                case Key.Enter:
                    ButtonAutomationPeer peer = new ButtonAutomationPeer(this.AddToUserBoxFromTextBox);

                    IInvokeProvider invokeProv = peer.GetPattern(PatternInterface.Invoke) as IInvokeProvider;

                    invokeProv?.Invoke();
                    break;
            }
        }
        private void passwordTextBox_KeyUp(object sender, KeyEventArgs e)
        {
            hitboxSubmitLogin.IsEnabled = passwordTextBox.Password.Length != 0;
            if (e.Key == Key.Enter)
            {
                //UIElementAutomationPeer.CreatePeerForElement(hitboxSubmitLogin).GetPattern(PatternInterface.Invoke);

                //UIElementAutomationPeer peer = new UIElementAutomationPeer(passwordTextBox);
                //IInvokeProvider invokeProv = (IInvokeProvider)peer.GetPattern(PatternInterface.Invoke);
                //if (invokeProv != null) invokeProv.Invoke();

                ButtonAutomationPeer peer = new ButtonAutomationPeer(hitboxSubmitLogin);
                IInvokeProvider invokeProv = peer.GetPattern(PatternInterface.Invoke) as IInvokeProvider;
                if (hitboxSubmitLogin.IsEnabled)
                    invokeProv.Invoke();
            }
        }
        private void usernameTextBox_KeyUp(object sender, KeyEventArgs e)
        {
            if (e.Key == Key.Enter)
            {
                Console.WriteLine("Username Hit");
                //UIElementAutomationPeer.CreatePeerForElement(hitboxSubmitLogin).GetPattern(PatternInterface.Invoke);

                //UIElementAutomationPeer peer = new UIElementAutomationPeer(hitboxSubmitLogin);

                //IInvokeProvider invokeProv = (IInvokeProvider)peer.GetPattern(PatternInterface.Invoke);
                //invokeProv.Invoke();

                ButtonAutomationPeer peer = new ButtonAutomationPeer(hitboxSubmitLogin);
                IInvokeProvider invokeProv = peer.GetPattern(PatternInterface.Invoke) as IInvokeProvider;
                if (hitboxSubmitLogin.IsEnabled)
                    invokeProv.Invoke();
            }
        }
Esempio n. 19
0
 private static void DefaultButtonChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
 {
     var uiElement = d as UIElement;
     var button = e.NewValue as Button;
     if (uiElement != null && button != null)
     {
         uiElement.KeyUp += (sender, arg) =>
         {
             if (arg.Key == Key.Enter)
             {
                 var peer = new ButtonAutomationPeer(button);
                 var invokeProv = peer.GetPattern(PatternInterface.Invoke) as IInvokeProvider;
                 if (invokeProv != null)
                     invokeProv.Invoke();
             }
         };
     }
 }
Esempio n. 20
0
        private void ChildWindow_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.Key == Key.Enter || e.Key == Key.Escape)
            {
                foreach (var button in GetButtons())
                {
                    var bindableResponse = button.DataContext as IBindableResponse;

                    if (e.Key == Key.Escape && bindableResponse.IsCancel
                        || e.Key == Key.Enter && bindableResponse.IsDefault)
                    {
                        e.Handled = true;
                        var peer = new ButtonAutomationPeer(button);
                        var invokeProv = peer.GetPattern(PatternInterface.Invoke) as IInvokeProvider;
                        invokeProv.Invoke();

                        break;
                    }
                }
            }
        }
        private static void DefaultButtonChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            var uiElement = d as UIElement;
            var button = e.NewValue as Button;
            if (uiElement != null && button != null)
            {
                // when KeyDown event fires with Key.Enter, set focus to the default button
                // and set fireClickEvent to true
                uiElement.KeyDown += (sender, arg) =>
                {
                    if (arg.Key == Key.Enter && button.IsEnabled)
                    {
                        fireClickEvent = true;
                        button.Focus();
                    }
                };

                // when the GetFocus event fires for  the default button, invoke the click event
                // when fireClickEvent is true
                button.GotFocus += (s, argument) =>
                {
                    // if fireClickEvent is true, this event is trigger by
                    // the KeyDown event with Key.Enter from uiElement
                    if (fireClickEvent)
                    {
                        var peer = new ButtonAutomationPeer(button);
                        if (peer.IsEnabled())
                        {
                            var invokeProv = peer.GetPattern(PatternInterface.Invoke) as IInvokeProvider;
                            if (invokeProv != null) invokeProv.Invoke();
                        }
                        // set fireClickEvent back to false
                        fireClickEvent = false;
                    }
                };
            }
        }
        public override void Execute(object parameter)
        {
            var popupInfo = parameter as OnClickPopupInfo;
            if (popupInfo != null)
            {
                AttachmentEditor ae = popupInfo.AttachmentContainer as AttachmentEditor;
                if (ae != null)
                {
                    FrameworkElement root = VisualTreeHelper.GetChild(ae, 0) as FrameworkElement;
                    if (root != null)
                    {
                        Button button = root.FindName("AddNewButton") as Button;
                        if (button != null)
                        {
                            ButtonAutomationPeer buttonAutoPeer = new ButtonAutomationPeer(button);
                            IInvokeProvider invokeProvider = buttonAutoPeer.GetPattern(PatternInterface.Invoke) as IInvokeProvider;
                            invokeProvider.Invoke();
                        }
                    }
                }
            }


        }
Esempio n. 23
0
 public static void Click(Button button)
 {
     ButtonAutomationPeer peer = new ButtonAutomationPeer(button);
     IInvokeProvider provider = peer.GetPattern(PatternInterface.Invoke) as IInvokeProvider;
     provider.Invoke();
 }
Esempio n. 24
0
        private void Listening_Click(object sender, RoutedEventArgs e)
        {
            // Start Server
            string IP = HostIP.Text;
            playerNum = int.Parse(gameNumBox.Text);
            Thread thread = new Thread(delegate()
            {
                doServer(IP, this.playerNum);
            });
            thread.Start();

            // Start Client
            ClientJoin cJoin = new ClientJoin();
            cJoin.Show();
            cJoin.textIP.Text = IP;
            cJoin.textName.Text = this.gameID.Text;
            ButtonAutomationPeer peer = new ButtonAutomationPeer(cJoin.btnConnect);
            IInvokeProvider invokeProv = peer.GetPattern(PatternInterface.Invoke) as IInvokeProvider;
            invokeProv.Invoke();
            this.Close();
        }
        private void flashStoryboard_Completed(object sender, EventArgs e)
        {
            // Tell the storyboard to officially stop once is has animated itself (otherwise you could
            // suspend, resume, etc. and not start another animation using this same storyboard until
            // truly stopping this one which is what we want to do).
            flashStoryboard.Stop();
            flashStoryboard.Completed -= flashStoryboard_Completed;
            flashStoryboard = null;

            // If the button we are animating is the "Browse" button and the side panel containing the "Browse Control" is created and it
            // is visible and if the current tab selected on this side panel is already the one we want, then exit. Otherwise, invoke
            // the button programmatically as usual.
            if (animatingButton.Name == "BrowseMenuButton" && sidePanel != null && sidePanel.Visibility == System.Windows.Visibility.Visible)
            {
                TabItem ti = (TabItem)sidePanel.SelectedItem;
                if (ti.Name == "BrowseTabItem")
                {
                    animatingButton = null;
                    return;
                }
            }

            // Simulate clicking the target button
            ButtonAutomationPeer peer = new ButtonAutomationPeer((Button)animatingButton);
            IInvokeProvider ip = (IInvokeProvider)peer;
            ip.Invoke();

            // Reset which button is being animated so another may be animated
            animatingButton = null;
        }
Esempio n. 26
0
        // Protected Methods (1)
        /// <summary>
        /// Overrides the KeyDown event to allow keyboard events to bubble up, while causing Enter to activate
        /// the button.
        /// </summary>
        protected override void OnKeyDown(KeyEventArgs e)
        {
            //Default ButtonBase behaviour is to call the ButtonClicked method and set KeyEventArgs->Handled to true
            //Override this so it instead does not respond to key events

            //However, we are allowing 'Enter' to activate buttons instead of 'Space'
            //Since we cannot invoke the base class event directly, use a ButtonAutomationPeer
            //to perform the 'Click'.
            if(e.Key == Key.Enter)
            {
                // Create a ButtonAutomationPeer using the ClickButton
                ButtonAutomationPeer buttonAutoPeer = new ButtonAutomationPeer(this);
                // Create an InvokeProvider
                IInvokeProvider invokeProvider =
                    buttonAutoPeer.GetPattern(PatternInterface.Invoke) as IInvokeProvider;
                // Invoke the default event, which is click for the button
                invokeProvider.Invoke();

            }
        }
 private void Click(Button button)
 {
     var peer = new ButtonAutomationPeer(button);
     var ip = (IInvokeProvider)peer;
     ip.Invoke();
 }
Esempio n. 28
0
        // This method will check every key that that the user presses on their keyboard. Similar to PreviewTextInput, but it catches special chars like " " as well.
        private void inputTextBox_PreviewKeyDown(object sender, KeyEventArgs e)
        {
            if (e.Key == Key.Enter)
            {
                // Exposes Button types to UI Automation.
                ButtonAutomationPeer peer = new ButtonAutomationPeer(checkButton);

                // IInvokeProvider Interface - Exposes methods and properties to support UI Automation client access to controls that initiate or perform a single, unambiguous action and do not maintain state when activated.
                IInvokeProvider invokeProv = peer.GetPattern(PatternInterface.Invoke) as IInvokeProvider;

                // Invoke() - Sends a request to activate a control and initiate its single, unambiguous action.
                invokeProv.Invoke();
            }
            else if (e.Key == Key.Space)
            {
                e.Handled = true;
            }
        }
Esempio n. 29
0
 public static void AutomationPeerInvoke(this Button button)
 {
     ButtonAutomationPeer peer = new ButtonAutomationPeer(button);
     IInvokeProvider invokeProv = (IInvokeProvider)peer.GetPattern(PatternInterface.Invoke);
     invokeProv.Invoke();
 }
Esempio n. 30
0
 private static void PerformClick(Button button)
 {
     var peer = new ButtonAutomationPeer(button);
     var invokeProv = peer.GetPattern(PatternInterface.Invoke) as IInvokeProvider;
     if (invokeProv != null)
         invokeProv.Invoke();
 }
        private void keyDown(object sender, KeyEventArgs e)
        {
            //Click the OK button if enter was pressed on the textbox.
            if (e.Key == Key.Enter)
            {
                // Create a ButtonAutomationPeer using the ClickButton.
                ButtonAutomationPeer buttonAutoPeer = new ButtonAutomationPeer(OKButton);

                // Create an InvokeProvider.
                IInvokeProvider invokeProvider = buttonAutoPeer.GetPattern(PatternInterface.Invoke) as IInvokeProvider;

                // Invoke the default event, which is click for the button.
                invokeProvider.Invoke();
            }
        }