DatePickerAutomationPeer.cs 708 B

12345678910111213141516171819202122232425
  1. using System;
  2. using Avalonia.Automation.Provider;
  3. using Avalonia.Controls;
  4. namespace Avalonia.Automation.Peers;
  5. public class DatePickerAutomationPeer : ControlAutomationPeer, IValueProvider
  6. {
  7. public DatePickerAutomationPeer(DatePicker owner)
  8. : base(owner)
  9. {
  10. }
  11. public bool IsReadOnly => false;
  12. public new DatePicker Owner => (DatePicker)base.Owner;
  13. public string? Value => Owner.SelectedDate?.ToString();
  14. public void SetValue(string? value)
  15. {
  16. if (DateTimeOffset.TryParse(value, out var result))
  17. Owner.SelectedDate = result;
  18. }
  19. protected override AutomationControlType GetAutomationControlTypeCore() => AutomationControlType.Custom;
  20. }