void OnStateChanged(object sender, ButtonStateChangedEventArgs e) { var button = (Button)sender; if (e.State == ButtonState.Active) { Button previous = null; foreach (var other in _buttons) { if (other != button && other.IsActive) { other.IsActive = false; previous = other; } } if (this.Changed != null) { this.Changed(this, new RadioGroupEventArgs(button, previous)); } } else if (!_suppress && (e.OldState == ButtonState.Active || e.OldState == ButtonState.ActiveOutside || e.OldState == ButtonState.ActivePressed)) { foreach (var other in _buttons) { if (other.IsActive) { return; } } button.IsActive = false; } }
void OnStateChanged (object sender, ButtonStateChangedEventArgs e) { var button = (Button)sender; if (e.State == ButtonState.Active) { Button previous = null; foreach (var other in _buttons) { if (other != button && other.IsActive) { other.IsActive = false; previous = other; } } if (this.Changed != null) this.Changed (this, new RadioGroupEventArgs (button, previous)); } else if (!_suppress && (e.OldState == ButtonState.Active || e.OldState == ButtonState.ActiveOutside || e.OldState == ButtonState.ActivePressed)) { foreach (var other in _buttons) if (other.IsActive) return; button.IsActive = false; } }