gpt4 book ai didi

c# - WPF DatePicker 仅显示可用日期

转载 作者:行者123 更新时间:2023-11-30 12:48:02 25 4
gpt4 key购买 nike

我有一个 DatePicker,因此用户可以选择日期。

我希望用户只选择可用的日期。可用日期存储在 List

到目前为止我有这个:

<DatePicker x:Name="DatePicker"
SelectedDate="{Binding SearchEngineCompassLogView.DateSearch,
Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
DataContext="{StaticResource CompassLogView}">
</DatePicker>

最佳答案

您可以使用 BlackoutDates 属性,但在此解决方案中,您必须指定 DisplayDateStartDisplayDateEnd

BlackoutDates 是一组不可用于选择的日期 (msdn)。

例子:

 <DatePicker x:Name="datePicker" 
Loaded="datePicker_Loaded"
DisplayDateStart="2000/01/01"
DisplayDateEnd="2050/01/01"
/>

加载的事件处理程序:

private void datePicker_Loaded(object sender, RoutedEventArgs e)
{
DatePicker picker = sender as DatePicker;

if (picker.DisplayDateStart == null || picker.DisplayDateEnd == null) return;

picker.BlackoutDates.Clear();

DateTime start = picker.DisplayDateStart.Value;
DateTime end = picker.DisplayDateEnd.Value;

while (start <= end)
{
if (!availableDates.Contains(start))
{
picker.BlackoutDates.Add(new CalendarDateRange(start, start));
}
start = start.AddDays(1);
}
}

可用日期的集合:

List<DateTime> availableDates = new List<DateTime> 
{
new DateTime(2013, 03, 01),
new DateTime(2013, 03, 02),
new DateTime(2013, 03, 03),
new DateTime(2013, 03, 31),
new DateTime(2013, 02, 01),
new DateTime(2013, 02, 02),
new DateTime(2013, 05, 01),
new DateTime(2013, 05, 02)
};

关于c# - WPF DatePicker 仅显示可用日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15186438/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com