MobileDateSelector.xaml.cs 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. using System;
  2. using Syncfusion.XForms.Pickers;
  3. using Xamarin.Forms.Xaml;
  4. namespace InABox.Mobile
  5. {
  6. public class DateSelectorChangedArgs : EventArgs
  7. {
  8. public DateTime Date { get; private set; }
  9. public DateSelectorChangedArgs(DateTime date)
  10. {
  11. Date = date;
  12. }
  13. }
  14. public delegate void DateSelectorChanged(object sender, DateSelectorChangedArgs args);
  15. [XamlCompilation(XamlCompilationOptions.Compile)]
  16. public partial class MobileDateSelector
  17. {
  18. public event DateSelectorChanged DateChanged;
  19. public DateTime Date
  20. {
  21. get => Picker.Date;
  22. set => Picker.Date = value;
  23. }
  24. public MobileDateSelector()
  25. {
  26. InitializeComponent();
  27. }
  28. private void Picker_OnTimeSelected(object sender, DateChangedEventArgs e)
  29. {
  30. DateChanged?.Invoke(this, new DateSelectorChangedArgs(Picker.Date));
  31. }
  32. private void Clear_OnClicked(object sender, MobileButtonClickEventArgs args)
  33. {
  34. Picker.Date = DateTime.MinValue;
  35. }
  36. private void Now_OnClicked(object sender, MobileButtonClickEventArgs args)
  37. {
  38. Picker.Date = DateTime.Today;
  39. }
  40. }
  41. }