1
我有兩個datepickers:「dpInputDate」和「dpDueDate」。現在DueDate不能小於InputDate。所以我使用BlackoutDates.AddDatesInPast();並且它在應用程序啓動時工作正常。現在是當我改變dpInputDate的選定日期時,比dpDueDate自動獲得相同的值。問題是熄滅日期的數量保持不變。這裏是我使用的代碼:WPF datepicker在SelectedDateChanged BlackoutDates
private void dpInputDate_SelectedDateChanged(object sender, SelectionChangedEventArgs e)
{
dpDueDate.SelectedDate = dpInputDate.SelectedDate;
dpDueDate.BlackoutDates.Clear();
dpDueDate.BlackoutDates.AddDatesInPast();
}
如何管理?
UPDATE:
private void dpDueDate_SelectedDateChanged(object sender, SelectionChangedEventArgs e)
{
if (dpDueDate.SelectedDate != null)
{
DateTime date = (DateTime)dpDueDate.SelectedDate;
dpDueDate.BlackoutDates.Clear();
dpDueDate.BlackoutDates.Add(new CalendarDateRange(new DateTime(1/1/2001), date));
}
else
{
dpDueDate.BlackoutDates.AddDatesInPast();
}
}
乾草我eddited我的代碼,但現在我得到這個異常:「指定的參數超出有效值範圍的 參數名稱:價值無效。「 。我意識到這是由於我的datepicker選擇日期格式,但如何將其更改爲正確的格式? – Stojdza
您對DateTime構造函數的使用不正確。你想使用重載之一,比如'new DateTime(2001,1,1)'。但是,這仍然會使2001年之前的日期可用,這可能不是你想要的。相反,你可以使用'dpDueDate.BlackoutDates.Add(DateTime.MinValue,date)' – Mashton
Ok tnx,我改變了,但仍然得到相同的異常?如何處理? – Stojdza