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();
- }
- }
|