| 1234567891011121314151617181920212223242526272829303132333435363738 | using InABox.Core;using Xamarin.Forms;namespace InABox.Mobile{    public abstract class MobileViewModel : BindableObject, IMobileViewModel    {        public Color SelectedColor => XF.Material.Forms.Material.Color.Surface;        public Color SelectedTextColor => XF.Material.Forms.Material.Color.OnSurface;        public Color UnselectedColor => XF.Material.Forms.Material.Color.Primary;        public Color UnselectedTextColor => XF.Material.Forms.Material.Color.OnPrimary;                public event MobileViewModelLoadedEvent Loaded;        protected void OnLoaded()             => Loaded?.Invoke(this, new MobileViewModelLoadedEventArgs());    }        public abstract class MobileViewModel<TEntity,TShell> : MobileViewModel        where TEntity : Entity, IRemotable, IPersistent        where TShell : IShell<TEntity>    {        private TShell _item;        public TShell Item        {            get => _item;            set            {                _item = value;                DoLoad();                OnLoaded();            }        }                protected abstract void DoLoad();    }}
 |