Browse Source

Merge pull request #10531 from AvaloniaUI/add-labelAutomationPeer

Add LabelAutomationPeer
pull/10536/head
Dan Walmsley 4 years ago
committed by GitHub
parent
commit
48fad8e8d6
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 34
      src/Avalonia.Controls/Automation/Peers/LabelAutomationPeer.cs
  2. 9
      src/Avalonia.Controls/Label.cs

34
src/Avalonia.Controls/Automation/Peers/LabelAutomationPeer.cs

@ -0,0 +1,34 @@
using Avalonia.Automation.Peers;
using Avalonia.Controls.Primitives;
namespace Avalonia.Controls.Automation.Peers
{
public class LabelAutomationPeer : ControlAutomationPeer
{
public LabelAutomationPeer(Label owner) : base(owner)
{
}
override protected string GetClassNameCore()
{
return "Text";
}
override protected AutomationControlType GetAutomationControlTypeCore()
{
return AutomationControlType.Text;
}
override protected string? GetNameCore()
{
var content = ((Label)Owner).Content as string;
if (string.IsNullOrEmpty(content))
{
return base.GetNameCore();
}
return AccessText.RemoveAccessKeyMarker(content) ?? string.Empty;
}
}
}

9
src/Avalonia.Controls/Label.cs

@ -1,4 +1,6 @@
using Avalonia.Input; using Avalonia.Automation.Peers;
using Avalonia.Controls.Automation.Peers;
using Avalonia.Input;
using Avalonia.Interactivity; using Avalonia.Interactivity;
namespace Avalonia.Controls namespace Avalonia.Controls
@ -59,5 +61,10 @@ namespace Avalonia.Controls
} }
base.OnPointerPressed(e); base.OnPointerPressed(e);
} }
protected override AutomationPeer OnCreateAutomationPeer()
{
return new LabelAutomationPeer(this);
}
} }
} }

Loading…
Cancel
Save