Календарь Xamarin XLabs Forms не работает на Android
Я использую элемент управления CalendarView в Xamarin Forms из пакета XLabs Nuget в Xamarin Studio.
CalendarView определен, как показано ниже, но на устройстве Android не отображается Calendar:
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
}
};
}
}
}
2 ответа
Решение
Не забудьте инициализировать 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,
},
}));