| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 | using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using Syncfusion.XForms.Pickers;using Xamarin.Forms;using Xamarin.Forms.Xaml;namespace InABox.Mobile{    public class TimeSelectorChangedEventArgs : EventArgs    {        public TimeSpan Time { get; private set; }        public TimeSelectorChangedEventArgs(TimeSpan time)        {            Time = time;        }    }    public delegate void TimeSelectorChangedEvent(object sender, TimeSelectorChangedEventArgs args);        [XamlCompilation(XamlCompilationOptions.Compile)]    public partial class MobileTimeSelector    {                public event TimeSelectorChangedEvent Changed;        public event EventHandler Cancelled;                public TimeSpan Time        {            get => Picker.Time;            set => Picker.Time = value;        }                public MobileTimeSelector()        {            InitializeComponent();        }        private void Clear_OnClicked(object sender, MobileButtonClickEventArgs args)        {            Picker.Time = TimeSpan.Zero;        }        private void Now_OnClicked(object sender, MobileButtonClickEventArgs args)        {            Picker.Time = DateTime.Now.TimeOfDay;        }        private void Select_OnClicked(object sender, MobileMenuButtonClickedEventArgs args)        {            Changed?.Invoke(this, new TimeSelectorChangedEventArgs(Picker.Time));        }        private void Cancel_OnClicked(object sender, MobileMenuButtonClickedEventArgs args)        {            Cancelled?.Invoke(this, EventArgs.Empty);        }    }}
 |