Beispiel #1
0
        public override nint GetPresentationCount(UIPageViewController pageViewController)
        {
            var count = ItemSource.Count();

            return(PageIndicatorEnabled ?
                   (count == 1 ? 0 : count) :
                   0);
        }
Beispiel #2
0
 public override void Construct()
 {
     if (ItemSource != null)
     {
         SizeToGrid = new Point(ItemSource.Count(), 1);
     }
     Corners = Scale9Corners.Top | Scale9Corners.Right | Scale9Corners.Left;
     Hidden  = !IsRootTray;
     base.Construct();
 }
Beispiel #3
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));
        }
Beispiel #4
0
            public override void Construct()
            {
                if (ItemSource != null)
                {
                    SizeToGrid = new Point(ItemSource.Count(), 1);
                }
                Corners     = 0; // Scale9Corners.Top | Scale9Corners.Right;
                Hidden      = true;
                Transparent = true;
                HotKeys     = true;

                base.Construct();
            }
Beispiel #5
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);
        }
        private void Label_MouseDown(object sender, MouseButtonEventArgs e)
        {
            var lb = sender as Label;

            if (null == lb)
            {
                return;
            }

            var selText = lb.Content.ToString();

            var i = 0;

            foreach (var eStr in ItemSource)
            {
                if (eStr == selText)
                {
                    break;
                }
                i++;
            }

            if (i == ItemSource.Count())
            {
                throw new Exception("BitFieldSelector 找不到选择的对应值!");
            }

            if (((m_bitValue >> i) & 1) == 1)
            {
                // 已选中,再点击是取消
                //lb.Background = new SolidColorBrush(Colors.Gray);
                SetBitUISelected(lb, false);
                m_bitValue &= (~(0x01 << i));
            }
            else
            {
                // 未选中,点击选中
                //lb.Background = new SolidColorBrush(Colors.Blue);
                SetBitUISelected(lb, true);
                m_bitValue |= (0x01 << i);
            }
        }
Beispiel #7
0
        public override UIViewController GetPreviousViewController(UIPageViewController pageViewController, UIViewController referenceViewController)
        {
            if (ItemSource.Count() == 1)
            {
                return(null);
            }

            var page = GetPageIndexForController(referenceViewController);

            if (page != -1)
            {
                var index = (page == 0) ?
                            (CanLoop ? ItemSource.Count() : 0) - 1 :
                            (page - 1);

                return(index == -1 ? null : GetViewControllerAtIndex(index));
            }

            return(null);
        }
Beispiel #8
0
        public override UIViewController GetNextViewController(UIPageViewController pageViewController, UIViewController referenceViewController)
        {
            if (ItemSource.Count() == 1)
            {
                return(null);
            }

            var page = GetPageIndexForController(referenceViewController) + 1;

            if (page != 0)
            {
                var index = (page == ItemSource.Count()) ?
                            (CanLoop ? 0 : -1) :
                            (page);

                return(index == -1 ? null : GetViewControllerAtIndex(index));
            }

            return(null);
        }
Beispiel #9
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);
        }