Ejemplo n.º 1
0
        private void MoveTo(int nextValue)
        {
            var currentIndex = ItemSource.ToList().IndexOf(WorkingItem);
            var newIndex     = currentIndex + nextValue;

            if (newIndex < 0 || newIndex >= ItemSource.Count())
            {
                return;
            }
            WorkingItem = ItemSource.ElementAt(newIndex);
            OnPropertyChanged(nameof(WorkingItem));
        }
Ejemplo n.º 2
0
        protected override UIViewController GetViewControllerAtIndex(int index)
        {
            if (index < 0 || index >= ItemSource.Count())
            {
                return(null);
            }
            // Here, you can choose to use the built-in CreateViewController()
            // or instanciate your own view controllers
            var parameters = new { index = index, title = ItemSource.ElementAt(index) as string };
            // If your controller is a IMvxPageViewController, you can also pass the index, and then PageIndex will be set automatically
            // For VM with CreateViewController() the controller will be constructed late, there is no way to set it directly excepted passing it as Init() parameter
            // For instance:
            // var vm = Mvx.IocConstruct<OnePageViewModel>();
            // vm.Init(index, ItemSource.ElementAt(index) as string);
            // var viewController = (PageView as IMvxIosView).CreateViewControllerFor(vm) as UIViewController;
            var viewController = this.CreateViewController <OnePageViewModel>(parameters);

            return(viewController);
        }
Ejemplo n.º 3
0
        protected override UIViewController GetViewControllerAtIndex(int index)
        {
            if (ItemSource == null || ItemSource.Count() == 0)
            {
                return(null);
            }

            UIViewController viewController;

            if (!_cachedVC.TryGetValue(index, out viewController))
            {
                var viewModel = ItemSource.ElementAt(index) as IMvxViewModel;
                viewModel.Initialize();

                viewController = (PageView as IMvxIosView)?.CreateViewControllerFor(viewModel) as UIViewController;

                _cachedVC[index] = viewController;
            }

            return(viewController);
        }