UWP日历视图可见日期范围

时间:2016-03-28 12:07:00

标签: range controls win-universal-app visible calendarview

我想知道如何获取用户能够在通用Windows平台CalendarView控件上看到的日期范围。我已经尝试在微软网站上查找,但我似乎找不到任何东西。

1 个答案:

答案 0 :(得分:0)

1。默认情况下,CalendarView中显示的最短日期是当前日期之前的100年,显示的最长日期是当前日期之后的100年。

您可以通过设置MinDateMaxDate属性来更改日历显示的最短和最长日期。例如:

calendarView.MinDate = new DateTime(2000, 1, 1);
calendarView.MaxDate = new DateTime(2099, 12, 31);

你也可以得到这样的日期范围:

var minDate = calendarView.MinDate;
var maxDate = calendarView.MaxDate;

2. 如果你要做的是更改CalendarView的可见区域(默认情况下,它以月视图打开,它显示6行日期,其中包含当前月份。),您可以使用CalendarView.SetDisplayDate method,例如:

DateTime localTime = new DateTime(2007, 07, 12, 06, 32, 00);
DateTimeOffset dateAndOffset = new DateTimeOffset(localTime, TimeZoneInfo.Local.GetUtcOffset(localTime));
calendarView.SetDisplayDate(dateAndOffset);

在此示例中,CalendarView将显示2007/7个月。

3。正如我所说,默认情况下,日历视图中显示的周数为6,您可以按CalendarView.NumberOfWeeksInView property更改它,例如在xaml代码中:

<CalendarView x:Name="calendarView" NumberOfWeeksInView="8" />

或代码背后:

calendarView.NumberOfWeeksInView = 8;

显示的最小周数为2,最大值为8;

4. 除月视图外,CalendarView还有年视图和十年视图,您可以使用CalendarView.DisplayMode property更改它,例如在xaml代码中:

<CalendarView x:Name="calendarView" DisplayMode="Year"/>

或代码背后:

calendarView.DisplayMode = CalendarViewDisplayMode.Decade;

由于您提出了一个非常简单但广泛的问题,我列出了我能想到的每一种可能性。如果您对此控件有任何其他疑问,请再次查看CalendarView class