WPF 日历禁用日期选择

Posted

技术标签:

【中文标题】WPF 日历禁用日期选择【英文标题】:WPF Calendar disable date selection 【发布时间】:2019-05-17 14:35:08 【问题描述】:

大家好,我想要一种方法来禁用 WPF 日历中的日期选择。

我尝试了禁用的属性,但我想从日期导航,我默认选择了日期并且不希望用户能够选择日期。

这是我的日历代码:

<Calendar x:Name="show_Calendar" IsTodayHighlighted="False" SelectionMode="MultipleRange" />

我选择这样的日期:

SelectedDatesCollection dates = new SelectedDatesCollection(show_Calendar);
foreach (var item in TaskManagerClass.revisionesTarea(tareaActiva.Id))

   if (item.DiaRevision.HasValue)
     dates.Add(item.DiaRevision.Value);

我希望用户能够在月份之间导航,但不能从日历中选择日期。

【问题讨论】:

【参考方案1】:

您可以通过使用StyleCalendarDayButtonIsHitTestVisible 属性设置为false 来禁用日期选择:

<Calendar x:Name="show_Calendar" IsTodayHighlighted="False" SelectionMode="MultipleRange">
    <Calendar.CalendarDayButtonStyle>
        <Style TargetType="CalendarDayButton">
            <Setter Property="IsHitTestVisible" Value="False" />
        </Style>
    </Calendar.CalendarDayButtonStyle>
</Calendar>

【讨论】:

以上是关于WPF 日历禁用日期选择的主要内容,如果未能解决你的问题,请参考以下文章

禁用结束日期不超过 10 天的日历 javascript

在 React Native 日历选择器中,我想通过提供一个函数来禁用某些日期

WPF Datepicker 禁用用户输入

如果用户手动输入数据,如何禁用日历控件?

如何在 jquery ui 日期选择器中同时禁用周末和选定日期?

如何更改 WPF 日期选择器的图标?