Beispiel #1
0
        internal async Task ExecuteLoadItemsCommand()
        {
            IsBusy = true;

            try
            {
                Items.Clear();
                var items = await DataStore.GetItemsAsync(true);

                MyTaskEx itemEx;
                foreach (var item in items)
                {
                    itemEx = new MyTaskEx(item);
                    Items.Add(itemEx);
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex);
            }
            finally
            {
                IsBusy = false;
            }
        }
Beispiel #2
0
        public MyTaskDetailPage()
        {
            InitializeComponent();

            var item = new MyTaskEx
            {
                Name        = "Item 1",
                Description = "This is an item description."
            };

            BindingContext = viewModel = new MyTaskDetailViewModel(ref item);
        }
Beispiel #3
0
        public MyTasksViewModel(MyTasksPage page)
        {
            _page             = page;
            Title             = "Browse";
            Items             = new ObservableCollection <MyTaskEx>();
            LoadItemsCommand  = new Command(async() => await ExecuteLoadItemsCommand());
            AddItemCommand    = new Command(async() => await ExecuteAddItemCommand());
            ItemSelectCommand = new Command <MyTaskEx>(async(item) => await ExecuteItemSelectCommand(item));

            MessagingCenter.Subscribe <NewItemPage, MyTask>(this, "AddItem", async(obj, item) =>
            {
                var newItem   = item as MyTask;
                var newItemEx = new MyTaskEx(newItem);
                Items.Add(newItemEx);
                await DataStore.AddItemAsync(newItem);
            });
        }
Beispiel #4
0
 async Task ExecuteItemSelectCommand(MyTaskEx item)
 {
     await _page.Navigation.PushAsync(new MyTaskDetailPage(new MyTaskDetailViewModel(ref item)));
 }