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

            var calendarFlowLayout = new UICollectionViewFlowLayout
            {
                MinimumLineSpacing      = 8,
                MinimumInteritemSpacing = 8,
                SectionInset            = new UIEdgeInsets(
                    0,
                    0,
                    0,
                    0)
            };

            _collectionView = new DTCalendarMonthCollectionView(calendarFlowLayout)
            {
                AlwaysBounceVertical   = false,
                AlwaysBounceHorizontal = false,
                TranslatesAutoresizingMaskIntoConstraints = true
            };

            _source = new DTCalendarMonthsViewSource(_collectionView);
            _collectionView.Source = _source;

            var bindingSet = this.CreateBindingSet <MonthView, MonthViewModel>();

            bindingSet
            .Bind(_source)
            .For(v => v.ItemsSource)
            .To(v => v.Days);

            bindingSet.Apply();
        }
示例#2
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();
            Title = "Measures";
            EdgesForExtendedLayout = UIRectEdge.None;

            NavigationItem.RightBarButtonItem = new UIBarButtonItem
            {
                Title = "Add"
            };

            _monthView = new MonthHeaderView
            {
                TranslatesAutoresizingMaskIntoConstraints = false
            };

            _layout = new UICollectionViewFlowLayout
            {
                MinimumLineSpacing      = 0,
                MinimumInteritemSpacing = 0,
                ItemSize        = new CGSize(View.Frame.Width, 200),
                ScrollDirection = UICollectionViewScrollDirection.Horizontal,
                SectionInset    = new UIEdgeInsets(
                    0,
                    0,
                    0,
                    0)
            };

            _yearView = new UICollectionView(CGRect.Empty, _layout)
            {
                PagingEnabled          = true,
                AlwaysBounceVertical   = false,
                AlwaysBounceHorizontal = false,
                TranslatesAutoresizingMaskIntoConstraints = false,
                Delegate = new DTCalendarViewDelegateFlowLayout()
            };

            _source = new DTCalendarMonthsViewSource(_yearView);

            _yearView.Source = _source;

            _monthView.RightButton.TouchUpInside += delegate
            {
                Move(1);
            };

            _monthView.LeftButton.TouchUpInside += delegate
            {
                Move(-1);
            };

            var bindingSet = this.CreateBindingSet <CalendarView, CalendarViewModel>();

            bindingSet
            .Bind(NavigationItem.RightBarButtonItem)
            .To(v => v.AddCommand);

            bindingSet
            .Bind(_monthView.NameLabel)
            .For(v => v.Text)
            .To(v => v.MonthDate)
            .WithConversion(
                new DateFormatterMvxValueConverter(
                    new NSDateFormatter
            {
                TimeStyle  = NSDateFormatterStyle.None,
                DateFormat = "MMMM yyyy"
            }));

            bindingSet
            .Bind(_source)
            .For(v => v.SelectionChangedCommand)
            .To(v => v.MonthShowed);

            bindingSet.Apply();
        }