示例#1
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            NavigationItem.Title = "Featured Apps";

            CollectionView.BackgroundColor = UIColor.White;

            var source = new CategoriesCollectionViewSource(this, CollectionView, CategoryCell.Id);

            CollectionView.Source = source;

            var set = this.CreateBindingSet <MainView, MainViewModel>();

            set.Bind(source).To(vm => vm.Categories);
            set.Apply();
        }
        protected virtual void BindCategoriesCollection(UICollectionView collectionView, MvxFluentBindingDescriptionSet <CCategoriesPageViewController, ICCategoriesViewModel> set)
        {
            var dataSource = new CategoriesCollectionViewSource(collectionView, CCategoryCell.Key);

            collectionView.Source = dataSource;

            set.Bind(dataSource).To(vm => vm.Items);
            set.Bind(dataSource).For(ds => ds.SelectionChangedCommand).To(vm => vm.SelectionChangedCommand);
            set.Bind(dataSource).For(dS => dS.SelectedIndex).To(vm => vm.CurrentPage);

            collectionView.ReloadData();

            var scrollView = View.Subviews.FirstOrDefault(x => x is UIScrollView) as UIScrollView;

            if (scrollView != null)
            {
                scrollView.Delegate = new PageControlScrollViewDelegate
                {
                    OnScrolled = dataSource.OnExternalScroll
                };
            }
        }