public override void ViewDidLoad() { base.ViewDidLoad(); var source = new MySource(VM, TableView, EventCell.Key, EventCell.Key); TableView.RowHeight = 66; TableView.Source = source; var refreshControl = new MvxUIRefreshControl{Message = "Loading..."}; this.RefreshControl = refreshControl; var set = this.CreateBindingSet<EventsView, EventsViewModel>(); set.Bind(source).To(vm => vm.Events); set.Bind(refreshControl).For(r => r.IsRefreshing).To(vm => vm.IsBusy); set.Bind(refreshControl).For(r => r.RefreshCommand).To(vm => vm.RefreshCommand); set.Bind(source).For(s => s.SelectionChangedCommand).To(vm => vm.GoToEventCommand); set.Apply(); var spinner = new UIActivityIndicatorView (UIActivityIndicatorViewStyle.Gray); spinner.Frame = new RectangleF (0, 0, 320, 66); TableView.TableFooterView = spinner; //if isn't first load show spinner when busy VM.IsBusyChanged = (busy) => { if(busy && VM.Events.Count > 0) spinner.StartAnimating(); else spinner.StopAnimating(); }; TableView.ReloadData(); NavigationItem.RightBarButtonItem = new UIBarButtonItem ("Stats", UIBarButtonItemStyle.Plain, delegate { ((EventsViewModel)ViewModel).ExecuteGoToStatsCommand(); }); }
public override void ViewDidLoad() { base.ViewDidLoad(); var source = new MySource(VM, TableView, GroupCell.Key, GroupCell.Key); TableView.RowHeight = 66; TableView.Source = source; var refreshControl = new MvxUIRefreshControl{Message = "Loading..."}; this.RefreshControl = refreshControl; var set = this.CreateBindingSet<GroupsView, GroupsViewModel>(); set.Bind(source).To(vm => vm.Groups); set.Bind(refreshControl).For(r => r.IsRefreshing).To(vm => vm.IsBusy); set.Bind(refreshControl).For(r => r.RefreshCommand).To(vm => vm.RefreshCommand); set.Bind(source).For(s => s.SelectionChangedCommand).To(vm => vm.GoToGroupCommand); set.Apply(); TableView.ReloadData(); var spinner = new UIActivityIndicatorView (UIActivityIndicatorViewStyle.Gray); spinner.Frame = new RectangleF (0, 0, 320, 66); //if isn't first time show spinner when busy TableView.TableFooterView = spinner; VM.IsBusyChanged = (busy) => { if(busy && VM.Groups.Count > 0) spinner.StartAnimating(); else spinner.StopAnimating(); }; }
public override void ViewDidLoad() { base.ViewDidLoad (); var addNewMemberButton = new UIBarButtonItem (UIBarButtonSystemItem.Add); var source = new MvxDeleteSimpleTableViewSource((IRemove)ViewModel, MainTableView, MemberCell.Key, MemberCell.Key); MainTableView.RowHeight = 66; MainTableView.Source = source; MainTableView.WeakDataSource = this; var refreshControl = new MvxUIRefreshControl{Message = "Loading..."}; MainTableView.AddSubview (refreshControl); var set = this.CreateBindingSet<EventView, EventViewModel>(); set.Bind(source).To(vm => vm.Members); set.Bind(source).For(s => s.SelectionChangedCommand).To(vm => vm.CheckInCommand); set.Bind(refreshControl).For(r => r.IsRefreshing).To(vm => vm.IsBusy); set.Bind(refreshControl).For(r => r.RefreshCommand).To(vm => vm.RefreshCommand); set.Bind (this).For("Title").To (vm => vm.EventName); set.Bind (ButtonPickWinner).To (vm => vm.SelectWinnerCommand); set.Bind (ButtonRSVPNumber).For ("Title").To (vm => vm.RSVPCount); set.Bind (addNewMemberButton).To (vm => vm.AddNewUserCommand); set.Apply(); MainTableView.ReloadData(); var spinner = new UIActivityIndicatorView (UIActivityIndicatorViewStyle.Gray); spinner.Frame = new RectangleF (0, 0, 320, 66); MainTableView.TableFooterView = spinner; VM.IsBusyChanged = (busy) => { if(busy && VM.Members.Count > 0) spinner.StartAnimating(); else spinner.StopAnimating(); }; NavigationItem.RightBarButtonItem = addNewMemberButton; //MainTableView.Source. }