我有一个日历控件,我禁用了使用限制日期的日期。日历控件绑定到另一个允许用户启用或禁用日历的属性。
限制日期工作完美但是,当用户启用/禁用日历时,所有停电日期都已消失 - 为什么会发生这种情况或如何阻止它发生?
<Calendar IsEnabled="{Binding StartTheSceduleNow, Converter={StaticResource BoolToOppositeBoolConverter}}" x:Name="Calender" Loaded="CalendarLoaded" >
.cs背后的代码
private void CalendarLoaded(object sender, RoutedEventArgs e)
{
this.Calender.BlackoutDates.Add(new CalendarDateRange(DateTime.MinValue, DateTime.Now.AddDays(-1)));
}
答案 0 :(得分:1)
一定是你的结果。对我来说,这个XAML与你的Loaded方法一起工作:
<Grid>
<StackPanel>
<CheckBox x:Name="theBox" />
<Calendar IsEnabled="{Binding IsChecked, ElementName=theBox}" x:Name="Calender" Loaded="CalendarLoaded" />
</StackPanel>
</Grid>
当我切换复选框时,所有BlackoutDates都会保留。
答案 1 :(得分:0)
如果您将大BlackoutDates
(从DateTime.MinValue
设置为几乎当前的日期时间),则会设置日历ovveride DisplayDateStart
。所以,您需要将DisplayDateStart
设置为值,您需要(例如DateTime.MinValue
)