MobileTimeSelector.xaml.cs 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using Syncfusion.XForms.Pickers;
  7. using Xamarin.Forms;
  8. using Xamarin.Forms.Xaml;
  9. namespace InABox.Mobile
  10. {
  11. public class TimeSelectorChangedArgs : EventArgs
  12. {
  13. public TimeSpan Time { get; private set; }
  14. public TimeSelectorChangedArgs(TimeSpan time)
  15. {
  16. Time = time;
  17. }
  18. }
  19. public delegate void TimeSelectorChanged(object sender, TimeSelectorChangedArgs args);
  20. [XamlCompilation(XamlCompilationOptions.Compile)]
  21. public partial class MobileTimeSelector
  22. {
  23. public event TimeSelectorChanged TimeChanged;
  24. public TimeSpan Time
  25. {
  26. get => Picker.Time;
  27. set => Picker.Time = value;
  28. }
  29. public MobileTimeSelector()
  30. {
  31. InitializeComponent();
  32. }
  33. private void SfTimePicker_OnTimeSelected(object sender, TimeChangedEventArgs e)
  34. {
  35. TimeChanged?.Invoke(this, new TimeSelectorChangedArgs(Picker.Time));
  36. }
  37. private void Clear_OnClicked(object sender, MobileButtonClickEventArgs args)
  38. {
  39. Picker.Time = TimeSpan.Zero;
  40. }
  41. private void Now_OnClicked(object sender, MobileButtonClickEventArgs args)
  42. {
  43. Picker.Time = DateTime.Now.TimeOfDay;
  44. }
  45. }
  46. }