@ -27,10 +27,10 @@ namespace Avalonia.Input
AvaloniaProperty . Register < InputElement , bool > ( nameof ( IsEnabled ) , true ) ;
/// <summary>
/// Defines the <see cref="IsEnabledCore "/> property.
/// Defines the <see cref="IsEffectivelyE nabled"/> property.
/// </summary>
public static readonly StyledProperty < bool > IsEnabledCore Property =
AvaloniaProperty . Register < InputElement , bool > ( nameof ( IsEnabledCore ) , true ) ;
public static readonly StyledProperty < bool > IsEffectivelyE nabledProperty =
AvaloniaProperty . Register < InputElement , bool > ( nameof ( IsEffectivelyE nabled ) , true ) ;
/// <summary>
/// Gets or sets associated mouse cursor.
@ -168,7 +168,7 @@ namespace Avalonia.Input
PointerReleasedEvent . AddClassHandler < InputElement > ( x = > x . OnPointerReleased ) ;
PointerWheelChangedEvent . AddClassHandler < InputElement > ( x = > x . OnPointerWheelChanged ) ;
PseudoClass < InputElement , bool > ( IsEnabledCore Property , x = > ! x , ":disabled" ) ;
PseudoClass < InputElement , bool > ( IsEffectivelyE nabledProperty , x = > ! x , ":disabled" ) ;
PseudoClass < InputElement > ( IsFocusedProperty , ":focus" ) ;
PseudoClass < InputElement > ( IsPointerOverProperty , ":pointerover" ) ;
}
@ -349,23 +349,23 @@ namespace Avalonia.Input
/// </summary>
/// <remarks>
/// The <see cref="IsEnabled"/> property is used to toggle the enabled state for individual
/// controls. The <see cref="IsEnabledCore "/> property takes into account the
/// controls. The <see cref="IsEffectivelyE nabled"/> property takes into account the
/// <see cref="IsEnabled"/> value of this control and its parent controls.
/// </remarks>
bool IInputElement . IsEnabledCore = > IsEnabledCore ;
bool IInputElement . IsEffectivelyE nabled = > IsEffectivelyE nabled ;
/// <summary>
/// Gets a value indicating whether the control is effectively enabled for user interaction.
/// </summary>
/// <remarks>
/// The <see cref="IsEnabled"/> property is used to toggle the enabled state for individual
/// controls. The <see cref="IsEnabledCore "/> property takes into account the
/// controls. The <see cref="IsEffectivelyE nabled"/> property takes into account the
/// <see cref="IsEnabled"/> value of this control and its parent controls.
/// </remarks>
protected bool IsEnabledCore
protected bool IsEffectivelyE nabled
{
get { return GetValue ( IsEnabledCore Property ) ; }
set { SetValue ( IsEnabledCore Property , value ) ; }
get { return GetValue ( IsEffectivelyE nabledProperty ) ; }
set { SetValue ( IsEffectivelyE nabledProperty , value ) ; }
}
public List < KeyBinding > KeyBindings { get ; } = new List < KeyBinding > ( ) ;
@ -393,7 +393,7 @@ namespace Avalonia.Input
protected override void OnAttachedToVisualTreeCore ( VisualTreeAttachmentEventArgs e )
{
base . OnAttachedToVisualTreeCore ( e ) ;
UpdateIsEnabledCore ( ) ;
UpdateIsEffectivelyE nabled ( ) ;
}
/// <summary>
@ -488,7 +488,7 @@ namespace Avalonia.Input
private static void IsEnabledChanged ( AvaloniaPropertyChangedEventArgs e )
{
( ( InputElement ) e . Sender ) . UpdateIsEnabledCore ( ) ;
( ( InputElement ) e . Sender ) . UpdateIsEffectivelyE nabled ( ) ;
}
/// <summary>
@ -512,32 +512,32 @@ namespace Avalonia.Input
}
/// <summary>
/// Updates the <see cref="IsEnabledCore "/> property value.
/// Updates the <see cref="IsEffectivelyE nabled"/> property value.
/// </summary>
private void UpdateIsEnabledCore ( )
private void UpdateIsEffectivelyE nabled ( )
{
UpdateIsEnabledCore ( this . GetVisualParent < InputElement > ( ) ) ;
UpdateIsEffectivelyE nabled ( this . GetVisualParent < InputElement > ( ) ) ;
}
/// <summary>
/// Updates the <see cref="IsEnabledCore "/> property based on the parent's
/// <see cref="IsEnabledCore "/>.
/// Updates the <see cref="IsEffectivelyE nabled"/> property based on the parent's
/// <see cref="IsEffectivelyE nabled"/>.
/// </summary>
/// <param name="parent">The parent control.</param>
private void UpdateIsEnabledCore ( InputElement parent )
private void UpdateIsEffectivelyE nabled ( InputElement parent )
{
if ( parent ! = null )
{
IsEnabledCore = IsEnabled & & parent . IsEnabledCore ;
IsEffectivelyE nabled = IsEnabled & & parent . IsEffectivelyE nabled ;
}
else
{
IsEnabledCore = IsEnabled ;
IsEffectivelyE nabled = IsEnabled ;
}
foreach ( var child in this . GetVisualChildren ( ) . OfType < InputElement > ( ) )
{
child . UpdateIsEnabledCore ( this ) ;
child . UpdateIsEffectivelyE nabled ( this ) ;
}
}
}