Ejemplo n.º 1
0
        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();
            });
        }
Ejemplo n.º 2
0
        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();
            };
        }
Ejemplo n.º 3
0
        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.
        }