public override nint GetPresentationCount(UIPageViewController pageViewController) { var count = ItemSource.Count(); return(PageIndicatorEnabled ? (count == 1 ? 0 : count) : 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(); }
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)); }
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(); }
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); } }
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); }
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); }
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); }