如何禁用 WPF 日历中的年份选择
How Can I Disable Year Selection in WPF Calendar
- 我想制作一个类似 Google 的日历,以便在一个屏幕上显示一年中的所有日子。
- 我将使用 12
Calendar
个实例。
- 我想禁用 WPF header 中的年份选择
Calendar
使其看起来像一个标签,而不是一个可点击的按钮。
您可以通过设置 DisplayDateStart and the DisplayDateEnd properties of The Calender Control 来做到这一点。
例如在 XAML 中,您可以这样做:
<Calendar DisplayDateStart="1/1/2022" DisplayDateEnd="31/12/2022"/>
或在code-behind:
Calendar cal = new Calendar();
cal.DisplayDateStart = new DateTime(2022, 1, 1);
cal.DisplayDateEnd = new DateTime(2022, 12, 31);
局限性:正如评论中指出的那样,这仅限制了显示范围。
我通过在控件模板中将“IsHitTestVisible”= false 设置为“PART_HeaderButton”来做到这一点。
这是我使用的控件模板
- 我想制作一个类似 Google 的日历,以便在一个屏幕上显示一年中的所有日子。
- 我将使用 12
Calendar
个实例。
- 我将使用 12
- 我想禁用 WPF header 中的年份选择
Calendar
使其看起来像一个标签,而不是一个可点击的按钮。
您可以通过设置 DisplayDateStart and the DisplayDateEnd properties of The Calender Control 来做到这一点。
例如在 XAML 中,您可以这样做:
<Calendar DisplayDateStart="1/1/2022" DisplayDateEnd="31/12/2022"/>
或在code-behind:
Calendar cal = new Calendar();
cal.DisplayDateStart = new DateTime(2022, 1, 1);
cal.DisplayDateEnd = new DateTime(2022, 12, 31);
局限性:正如评论中指出的那样,这仅限制了显示范围。
我通过在控件模板中将“IsHitTestVisible”= false 设置为“PART_HeaderButton”来做到这一点。 这是我使用的控件模板