我想知道如何获取用户能够在通用Windows平台CalendarView控件上看到的日期范围。我已经尝试在微软网站上查找,但我似乎找不到任何东西。
答案 0 :(得分:0)
1。默认情况下,CalendarView中显示的最短日期是当前日期之前的100年,显示的最长日期是当前日期之后的100年。
您可以通过设置MinDate和MaxDate属性来更改日历显示的最短和最长日期。例如:
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。