如何在WPF DateTimePick中设置多个月的BlackOutDates

本文关键字:BlackOutDates 设置 WPF DateTimePick | 更新日期: 2023-09-27 18:15:24

我需要设置多个月的BlackOutDates。

例如,在选择月份(即2014年1月)时,我想只显示某些停电日期。另一方面,对于二月,我想显示一些与一月不同的其他黑色日期。

但是我在WPF DateTimePick中找不到任何属性,它可以显式返回"月份",这些月份在使用ViewModel绑定列表时绑定到DateTimePick控件。

是否有办法为每个月设置明确的停电日?

的问候乌斯曼

如何在WPF DateTimePick中设置多个月的BlackOutDates

不可能直接绑定BlackOutDates集合。取而代之的是一个助手类。通常将使用附加属性来处理此场景。在属性的回调中手动映射BlackoutDates。

http://wpfplayground.com/2014/07/28/wpf-datepicker-blackoutdates-data-binding/

要从日期选择器中获得通知,当Month更改时,使用DisplayDate属性。以两种方式绑定此属性。您可以在属性更改时更新您的停电日期集合。

    private void OnPropertyChanged(object sender, PropertyChangedEventArgs e)
    {
        if (e.PropertyName == "DisplayDate")
        {
            BlackOutDates = new List<DateTime> { DisplayDate.Date.AddDays(randm.Next(1, 5)), DisplayDate.AddDays(randm.Next(1, 5)) };
        }
    }