diff --git a/src/Avalonia.Controls/Primitives/ToggleButton.cs b/src/Avalonia.Controls/Primitives/ToggleButton.cs index 148797c53a..93ec17f0ca 100644 --- a/src/Avalonia.Controls/Primitives/ToggleButton.cs +++ b/src/Avalonia.Controls/Primitives/ToggleButton.cs @@ -32,20 +32,37 @@ namespace Avalonia.Controls.Primitives /// /// Defines the event. /// + [Obsolete("Use IsCheckedChangedEvent instead.")] public static readonly RoutedEvent CheckedEvent = - RoutedEvent.Register(nameof(Checked), RoutingStrategies.Bubble); + RoutedEvent.Register( + nameof(Checked), + RoutingStrategies.Bubble); /// /// Defines the event. /// + [Obsolete("Use IsCheckedChangedEvent instead.")] public static readonly RoutedEvent UncheckedEvent = - RoutedEvent.Register(nameof(Unchecked), RoutingStrategies.Bubble); + RoutedEvent.Register( + nameof(Unchecked), + RoutingStrategies.Bubble); /// /// Defines the event. /// + [Obsolete("Use IsCheckedChangedEvent instead.")] public static readonly RoutedEvent IndeterminateEvent = - RoutedEvent.Register(nameof(Indeterminate), RoutingStrategies.Bubble); + RoutedEvent.Register( + nameof(Indeterminate), + RoutingStrategies.Bubble); + + /// + /// Defines the event. + /// + public static readonly RoutedEvent IsCheckedChangedEvent = + RoutedEvent.Register( + nameof(IsCheckedChanged), + RoutingStrategies.Bubble); private bool? _isChecked = false; @@ -62,6 +79,7 @@ namespace Avalonia.Controls.Primitives /// /// Raised when a is checked. /// + [Obsolete("Use IsCheckedChanged instead.")] public event EventHandler? Checked { add => AddHandler(CheckedEvent, value); @@ -71,6 +89,7 @@ namespace Avalonia.Controls.Primitives /// /// Raised when a is unchecked. /// + [Obsolete("Use IsCheckedChanged instead.")] public event EventHandler? Unchecked { add => AddHandler(UncheckedEvent, value); @@ -80,12 +99,22 @@ namespace Avalonia.Controls.Primitives /// /// Raised when a is neither checked nor unchecked. /// + [Obsolete("Use IsCheckedChanged instead.")] public event EventHandler? Indeterminate { add => AddHandler(IndeterminateEvent, value); remove => RemoveHandler(IndeterminateEvent, value); } + /// + /// Raised when the property value changes. + /// + public event EventHandler? IsCheckedChanged + { + add => AddHandler(IsCheckedChangedEvent, value); + remove => RemoveHandler(IsCheckedChangedEvent, value); + } + /// /// Gets or sets whether the is checked. /// @@ -182,13 +211,13 @@ namespace Avalonia.Controls.Primitives switch (newValue) { case true: - OnChecked(new RoutedEventArgs(CheckedEvent)); + OnChecked(new RoutedEventArgs(IsCheckedChangedEvent)); break; case false: - OnUnchecked(new RoutedEventArgs(UncheckedEvent)); + OnUnchecked(new RoutedEventArgs(IsCheckedChangedEvent)); break; default: - OnIndeterminate(new RoutedEventArgs(IndeterminateEvent)); + OnIndeterminate(new RoutedEventArgs(IsCheckedChangedEvent)); break; } }