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); }
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(); }); } }; } }
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(); }); } }; } }
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(); } }; }
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(); }
/**************************************************************** * 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(); }
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(); }
private void ProcessClick() { ButtonAutomationPeer peer = new ButtonAutomationPeer(this); IInvokeProvider invokeProv = peer.GetPattern(PatternInterface.Invoke) as IInvokeProvider; invokeProv.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(); }
/// <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(); } }
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(); } }
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(); }); } }
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(); } }
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(); } }; } }
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(); } } } } }
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(); } }
private void invokeButtonClick(Button btn) { ButtonAutomationPeer peer = new ButtonAutomationPeer(btn); IInvokeProvider invokeProvider = peer.GetPattern(PatternInterface.Invoke) as IInvokeProvider; if (null != invokeProvider) { invokeProvider.Invoke(); } }
private void pressPutton(Button btn) { var peer = new ButtonAutomationPeer(btn); var invokeProv = peer.GetPattern(PatternInterface.Invoke) as IInvokeProvider; invokeProv.Invoke(); }
// 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; } }
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(); }
// 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(); } }
public static void AutomationPeerInvoke(this Button button) { ButtonAutomationPeer peer = new ButtonAutomationPeer(button); IInvokeProvider invokeProv = (IInvokeProvider)peer.GetPattern(PatternInterface.Invoke); invokeProv.Invoke(); }
private static void PerformClick(Button button) { var peer = new ButtonAutomationPeer(button); var invokeProv = peer.GetPattern(PatternInterface.Invoke) as IInvokeProvider; if (invokeProv != null) invokeProv.Invoke(); }
public static void Click(Button button) { ButtonAutomationPeer peer = new ButtonAutomationPeer(button); IInvokeProvider provider = peer.GetPattern(PatternInterface.Invoke) as IInvokeProvider; provider.Invoke(); }