日历
借助日历,用户能够通过使用可视日历显示来选择日期。
Calendar 控件可以单独使用,也可以用作 DatePicker 控件的下拉部分。 有关详细信息,请参阅 DatePicker。
下图显示了两个 Calendar 控件,一个带有选择和中断日期,一个没有。
日历控件
下表提供了有关通常与 Calendar 关联的任务的信息。
任务 | 实现 |
---|---|
指定无法选择的日期。 | 使用 BlackoutDates 属性。 |
让 Calendar 显示一个月、一整年或十年。 | 将 DisplayMode 属性设置为月、年或十年。 |
指定用户是否可以选择日期、日期范围或多个日期范围。 | 使用 SelectionMode。 |
指定 Calendar 显示的日期范围。 | 使用 DisplayDateStart 和 DisplayDateEnd 属性。 |
指定是否突出显示当前日期。 | 使用 IsTodayHighlighted 属性。 默认情况下,IsTodayHighlighted 为 true 。 |
更改 Calendar 的大小。 | 使用 Viewbox 或将 LayoutTransform 属性设置为 ScaleTransform。 请注意,如果设置 Calendar 的 Width 和 Height 属性,实际日历不会更改其大小。 |
Calendar 控件提供了使用鼠标或键盘的基本导航。 下表概述了键盘导航。
键组合 | DisplayMode | 操作 |
---|---|---|
箭头 | Month | 如果 SelectionMode 属性未设置为 None,则更改 SelectedDate 属性。 |
箭头 | Year | 更改 DisplayDate 属性的月份。 请注意,SelectedDate 不会更改。 |
箭头 | Decade | 更改 DisplayDate 的年份。 请注意,SelectedDate 不会更改。 |
Shift+箭头 | Month | 如果 SelectionMode 未设置为 SingleDate 或 None,则扩展所选日期的范围。 |
Home | Month | 将 SelectedDate 更改为当月的第一天。 |
Home | Year | 将 DisplayDate 的月份更改为一年中的第一个月。 SelectedDate 不会更改。 |
Home | Decade | 将 DisplayDate 的年份更改为十年中的第一年。 SelectedDate 不会更改。 |
End | Month | 将 SelectedDate 更改为当月的最后一天。 |
End | Year | 将 DisplayDate 的月份更改为一年中的最后一个月。 SelectedDate 不会更改。 |
End | Decade | 将 DisplayDate 的年份更改为十年中的最后一年。 SelectedDate 不会更改。 |
CTRL + 向上箭头 | 任意 | 切换到下一个更大的 DisplayMode。 如果 DisplayMode 已为 Decade,则不执行任何操作。 |
CTRL + 向下箭头 | 任意 | 切换到下一个更小的 DisplayMode。 如果 DisplayMode 已为 Month,则不执行任何操作。 |
空格键或 Enter | Year 或 Decade | 将 DisplayMode 切换到焦点项所表示的 Month 或 Year。 |