public async override void ViewWillAppear(bool animated) { base.ViewWillAppear(animated); var refreshControl = new MvxUIRefreshControl(); this.RefreshControl = refreshControl; var source = new MeetingsViewSource(TableView); TableView.Source = source; var set = this.CreateBindingSet <MeetingsScreen, MeetingsViewModel>(); set.Bind(source).To(vm => vm.Meetings); set.Bind(refreshControl).For(r => r.Message).To(vm => vm.LastUpdate); set.Bind(refreshControl).For(r => r.RefreshCommand).To(vm => vm.RefreshCommand); set.Bind(refreshControl).For(r => r.IsRefreshing).To(vm => vm.IsBusy); set.Apply(); await ViewModel.InitializeAsync(); // Load data TableView.ReloadData(); }
/* * private ToastView _toastView; * * public ToastView ToastView * { * get{ * * if (_toastView == null) * { * _toastView = new ToastView(); * } * * return _toastView; * } * }*/ public override void ViewDidLoad() { base.ViewDidLoad(); //ToastView.Frame = new CoreGraphics.CGRect(0, 0, View.Bounds.Width, 20); //TableView.TableHeaderView = ToastView; var refreshControl = new BindableUIRefreshControl(); RefreshControl = refreshControl; var source = new MeetingsViewSource(TableView, ViewModel.Meetings); TableView.Source = source; refreshControl.RefreshCommand = ViewModel.RefreshCommand; refreshControl.Message = ViewModel.LastUpdate; refreshControl.IsRefreshing = ViewModel.IsBusy; // Load data TableView.ReloadData(); }