0

我在 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
            }
        };
    }
}
}
4

2 回答 2

0

记得用初始化 MainActivity

MainActivity : XFormsApplicationDroid

并将 XLabs 添加到 Droid 项目中。它现在正在工作。

于 2016-04-10T08:49:01.540 回答
0

请使用下面的代码,它会工作

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,
                             },
                        }));
于 2017-02-23T05:53:04.807 回答