使用选定日期添加到中断日期

本文关键字:日期 添加 中断 | 更新日期: 2023-09-27 18:33:30

下面

包含一个小型演示程序。要重现问题,请选择一个日期,然后单击"不适用日期"按钮。在我的系统上,我得到一个ArgumentOutOfRange异常。

关于如何解决此问题的任何建议?

XAML:

<Window x:Class="CalendarBlackoutDate.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <StackPanel>
        <Calendar Name="calendar"/>
        <Button Name="blackoutDateButton" Content="BlackoutDate" Click="blackoutDateButton_Click"/>
    </StackPanel>
</Window>

C#:

using System.Windows;
using System.Windows.Controls;
namespace CalendarBlackoutDate
{
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }
        private void blackoutDateButton_Click(object sender, RoutedEventArgs e)
        {
            calendar.BlackoutDates.Add(
                new CalendarDateRange(
                    calendar.SelectedDate.Value));
        }
    }
}

使用选定日期添加到中断日期

所选日期的日历与停电相同?? 所选日期不能是不适用日期。

 calendar1.BlackoutDates.Add(
            new CalendarDateRange(
                calendar2.SelectedDate.Value));
<Calendar Name="calendar1"/>
<Calendar Name="calendar2"/>

如果一个日历

if (calendar1.SelectedDate == null) return;
DateTime dtBO = (DateTime)calendar1.SelectedDate;
calendar1.SelectedDate = null;
calendar1.BlackoutDates.Add(new CalendarDateRange(dtBO));