// Token: 0x060060EC RID: 24812 RVA: 0x001B2F60 File Offset: 0x001B1160 private static void OnIsCheckedChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { ToggleButton toggleButton = (ToggleButton)d; bool? oldValue = (bool?)e.OldValue; bool? flag = (bool?)e.NewValue; ToggleButtonAutomationPeer toggleButtonAutomationPeer = UIElementAutomationPeer.FromElement(toggleButton) as ToggleButtonAutomationPeer; if (toggleButtonAutomationPeer != null) { toggleButtonAutomationPeer.RaiseToggleStatePropertyChangedEvent(oldValue, flag); } if (flag == true) { toggleButton.OnChecked(new RoutedEventArgs(ToggleButton.CheckedEvent)); } else if (flag == false) { toggleButton.OnUnchecked(new RoutedEventArgs(ToggleButton.UncheckedEvent)); } else { toggleButton.OnIndeterminate(new RoutedEventArgs(ToggleButton.IndeterminateEvent)); } toggleButton.UpdateVisualState(); }
/// <summary> /// Called when IsChecked is changed on "d." /// </summary> /// <param name="d">The object on which the property was changed.</param> /// <param name="e">EventArgs that contains the old and new values for this property</param> private static void OnIsCheckedChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { ToggleButton button = (ToggleButton)d; bool? oldValue = (bool?)e.OldValue; bool? newValue = (bool?)e.NewValue; //doing soft casting here because the peer can be that of RadioButton and it is not derived from //ToggleButtonAutomationPeer - specifically to avoid implementing TogglePattern ToggleButtonAutomationPeer peer = UIElementAutomationPeer.FromElement(button) as ToggleButtonAutomationPeer; if (peer != null) { peer.RaiseToggleStatePropertyChangedEvent(oldValue, newValue); } if (newValue == true) { button.OnChecked(new RoutedEventArgs(CheckedEvent)); } else if (newValue == false) { button.OnUnchecked(new RoutedEventArgs(UncheckedEvent)); } else { button.OnIndeterminate(new RoutedEventArgs(IndeterminateEvent)); } button.UpdateVisualState(); }
public void ToggleTextBoxVisibility(bool visible) { if (btnToggle.IsChecked == visible && IsBreadcrumbEnabled) { ToggleButtonAutomationPeer bap = new ToggleButtonAutomationPeer(btnToggle); IToggleProvider iip = bap.GetPattern(PatternInterface.Toggle) as IToggleProvider; iip.Toggle(); } }
private void Page_Unloaded(object sender, RoutedEventArgs e) { if (isListening) { var ap = new ToggleButtonAutomationPeer(btnListen); var ip = ap.GetPattern(PatternInterface.Invoke) as IInvokeProvider; ip?.Invoke(); } }
private void _push(object o) { var peer = new ToggleButtonAutomationPeer(_tb); var toggleProvider = peer.GetPattern(PatternInterface.Toggle) as IToggleProvider; if (toggleProvider != null) { toggleProvider.Toggle(); } }
public void Push() { var peer = new ToggleButtonAutomationPeer(_b); var toggleProvider = peer.GetPattern(PatternInterface.Toggle) as IToggleProvider; if (toggleProvider != null) { toggleProvider.Toggle(); } }
void InvokeTarget(FrameworkElement hitTarget) { if (hitTarget == _offScreenElement) { FireEyesOff(); return; } if (hitTarget.IsEnabled) { _lastInvokeTickCount = Environment.TickCount; var button = hitTarget as Button; if (button != null) { var peer = new ButtonAutomationPeer(button); var provider = (IInvokeProvider)peer.GetPattern(PatternInterface.Invoke); Debug.Assert(provider != null); provider.Invoke(); } else { var toggleButton = hitTarget as ToggleButton; if (toggleButton != null) { var peer = new ToggleButtonAutomationPeer(toggleButton); var provider = (IToggleProvider)peer.GetPattern(PatternInterface.Toggle); Debug.Assert(provider != null); provider.Toggle(); } else { var textbox = hitTarget as TextBox; if (textbox != null) { textbox.Focus(); } else { var tabItem = hitTarget as TabItem; if (tabItem != null) { tabItem.IsSelected = true; } } } } // Ensure WPF update's the UI with its new state. CommandManager.InvalidateRequerySuggested(); } }
/// <summary> /// Activate one of the buttons of a pair, if -/+ is pressed. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private async void OnKeyDown_ButtonPair(object sender, KeyEventArgs e) { int clickIndex = -1; switch (e.Key) { case Key.Subtract: case Key.OemMinus: clickIndex = 0; break; case Key.Add: case Key.OemPlus: clickIndex = 1; break; } if (clickIndex > -1) { if (this.Buttons[clickIndex].Control is ButtonBase button) { // // Make it look like it's being clicked. // this.ControlTheme[button].IsMouseDown = true; // this.UpdateTheme(button); // Click it FrameworkElementAutomationPeer automationPeer; if (button is ToggleButton toggle) { automationPeer = new ToggleButtonAutomationPeer(toggle); } else { automationPeer = new ButtonAutomationPeer((Button)button); } ((IInvokeProvider?)automationPeer.GetPattern(PatternInterface.Invoke))?.Invoke(); // await Task.Delay(250); // this.ControlTheme[button].IsMouseDown = false; // this.UpdateTheme(button); } } }
private IToggleProvider GetToggleProvider() { //TODO:Vladimir: Don't know why FindVisualDescendant doesn't work //This is a temporary solution var toggleButton = Control.GetChildren().ElementAt(0) .GetChildren().ElementAt(0) .GetChildren().ElementAt(0) .GetChildren().ElementAt(0) as ToggleButton; //var toggleButton = Control.FindVisualDescendantWithAutomationId("HeaderSiteToggleButton") as ToggleButton; if (toggleButton is null) { return(null); } var peer = new ToggleButtonAutomationPeer(toggleButton); return(peer.GetPattern(PatternInterface.Toggle) as IToggleProvider); }
void IToggleProvider.Toggle() { if (!IsEnabled()) { throw new ElementNotEnabledException(); } if (!OwningSplitButton.IsCheckable) { throw new InvalidOperationException(SR.Get(SRID.UIA_OperationCannotBePerformed)); } if (OwningSplitButton.HeaderButton != null) { ToggleButtonAutomationPeer headerButtonAutomationPeer = CreatePeerForElement(OwningSplitButton.HeaderButton) as ToggleButtonAutomationPeer; if (headerButtonAutomationPeer != null) { ((IToggleProvider)headerButtonAutomationPeer).Toggle(); } } }
/// <summary> /// OCR language selection change. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void DataSource_PropertyChanged(object sender, PropertyChangedEventArgs e) { if (e.PropertyName == "SelectedLanguagesText") { curLangCode = GetLangCodes(dataSource.SelectedLanguagesText); // Hide Viet Input Method submenu if selected OCR Language is not Vietnamese bool vie = curLangCode.Contains("vie"); VietKeyHandler.VietModeEnabled = vie; this.vietInputMethodToolStripMenuItem.Visibility = vie ? Visibility.Visible : Visibility.Collapsed; // Spellcheck if (this.buttonSpellcheck.IsChecked.Value) { ToggleButtonAutomationPeer peer = new ToggleButtonAutomationPeer(buttonSpellcheck); System.Windows.Automation.Provider.IToggleProvider toggleProvider = peer.GetPattern(PatternInterface.Toggle) as System.Windows.Automation.Provider.IToggleProvider; toggleProvider.Toggle(); // disable spellcheck buttonSpellcheck.RaiseEvent(new RoutedEventArgs(Button.ClickEvent)); toggleProvider.Toggle(); // re-enable spellcheck buttonSpellcheck.RaiseEvent(new RoutedEventArgs(Button.ClickEvent)); } } }
/// <summary> /// IsCheckedProperty property changed handler. /// </summary> /// <param name="d">ToggleButton that changed its IsChecked.</param> /// <param name="e">DependencyPropertyChangedEventArgs.</param> private static void OnIsCheckedPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { ToggleButton source = d as ToggleButton; System.Diagnostics.Debug.Assert(source != null, "The source is not an instance of ToggleButton!"); System.Diagnostics.Debug.Assert(typeof(bool?).IsInstanceOfType(e.NewValue) || (e.NewValue == null), "The value is not an instance of bool?!"); bool?value = (bool?)e.NewValue; // Raise the appropriate changed event RoutedEventArgs args = new RoutedEventArgs(); args.OriginalSource = source; // like beta1 (and unit test confirmed) if (value == true) { source.OnChecked(args); } else if (value == false) { source.OnUnchecked(args); } else { source.OnIndeterminate(args); } // Raising UIA Automation Event ToggleButtonAutomationPeer peer = source.AutomationPeer as ToggleButtonAutomationPeer; if (peer != null) { peer.RaiseToggleStateChanged(); } }
public ToolBarToggleButton() { this.DefaultStyleKey = typeof(ToolBarToggleButton); this.peer = new ToggleButtonAutomationPeer(this); }