Xamarin XLabs Forms CalendarView 无法在 Android 上运行

Xamarin XLabs Forms CalendarView not working on Android

我在 Xamarin Studio 的 XLabs Nuget 包中使用 Xamarin Forms 中的 CalendarView 控件。

CalendarView 定义如下,但 android 设备上没有显示日历:

using System;

using Xamarin.Forms;
using XLabs.Forms.Controls;

namespace CustomRenderer
{
public class MyPage : ContentPage
{
    public MyPage()
    {
        CalendarView calendarView = new XLabs.Forms.Controls.CalendarView 
            {
                MinDate = new DateTime(2016, 1,1),
                MaxDate = new DateTime(2016, 1, 31),
                VerticalOptions = LayoutOptions.FillAndExpand,
                HorizontalOptions = LayoutOptions.FillAndExpand,
                ShowNavigationArrows = true,

                DateBackgroundColor = Color.White,
                IsVisible = true,
            };

        calendarView.DateSelected += (object sender, DateTime e) => {

        };
        Content = new StackLayout
        { 

                HeightRequest = 400,
                WidthRequest = 320,
            Children =
            {
                calendarView
            }
        };
    }
}
}

记得用

初始化MainActivity
MainActivity : XFormsApplicationDroid

并将 XLabs 添加到 Droid 项目中。现在可以使用了。

请使用下面的代码,它将起作用

var MinDt = new DateTime(1970, 1, 1);
                        var MaxDt = new DateTime(2070,1,1);
                        Pages.Add(id, new CarlNavPage(new ContentPage
                        {

                            Content = new CalendarView() {
                                MinDate = CalendarView.FirstDayOfMonth(MinDt),
                                MaxDate = CalendarView.LastDayOfMonth(MaxDt),
                                HighlightedDateBackgroundColor = Color.FromRgb(227, 227, 227),
                                MonthTitleBackgroundColor = Color.FromHex("#f1eff5"),
                                ShouldHighlightDaysOfWeekLabels = false,
                                SelectionBackgroundStyle = CalendarView.BackgroundStyle.Fill,
                                TodayBackgroundStyle = CalendarView.BackgroundStyle.CircleOutline,
                                BackgroundColor = Color.FromHex("#f1eff5"),
                                HighlightedDateForegroundColor = Color.FromHex("#f1eff5"),
                                //  HighlightedDaysOfWeek = new DayOfWeek[] { DayOfWeek.Saturday, DayOfWeek.Sunday },
                                ShowNavigationArrows = true,
                             },
                        }));