Exemplo n.º 1
0
        /// <summary>
        ///     Called when [element changed].
        /// </summary>
        /// <param name="e">The e.</param>
        protected override void OnElementChanged(ElementChangedEventArgs <ECalendarView> e)
        {
            base.OnElementChanged(e);

            if (e.OldElement == null)
            {
                _view = e.NewElement;
                var inflatorservice =
                    (LayoutInflater)Context.GetSystemService(Context.LayoutInflaterService);
                _containerView = inflatorservice.Inflate(Resource.Layout.ecalendar_picker, null);
                _picker        = _containerView.FindViewById <ECalendarPickerView>(Resource.Id.ecalendar_view);
                _picker.Init(Element.MinDate, Element.MaxDate, Element.HighlightedDaysOfWeek);
                _picker.OnDateSelected +=
                    (object sender, DateSelectedEventArgs evt) =>
                {
                    ProtectFromEventCycle(() => { Element.NotifyDateSelected(evt.SelectedDate); });
                };
                _picker.OnMonthChanged += (object sender, MonthChangedEventArgs mch) =>
                {
                    SetNavigationArrows();
                    ProtectFromEventCycle(() => { Element.NotifyDisplayedMonthChanged(mch.DisplayedMonth); });
                };
                SetDisplayedMonth(Element.DisplayedMonth);
                //SetNavigationArrows();
                SetColors();
                SetFonts();
                //_picker.HighlightDates(Element.HighlightedDays);
                SetNativeControl((RelativeLayout)_containerView);
            }
        }