如何禁用 WPF 日历中的年份选择

How Can I Disable Year Selection in WPF 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”来做到这一点。 这是我使用的控件模板

Calendar Control Template