如何在 Xaml 页面上设置最大日期并根据禁用设置日期

How to set a maximum date on a Xaml page and make the dates according to disabled

大家早上好

我无法在日历上确定最大日期并使在该日期之后到达的日期“禁用”。 我找到这个 ->

但这对我没有帮助。 For example, I would like to have January 22 grayed out

<DatePicker x:Name="PickerDate" 
                                    xmlns:System="clr-namespace:System;assembly=mscorlib"
                                    HorizontalOptions="FillAndExpand" 
                                    Date="{Binding PickerDate.Date, Mode=TwoWay}" 
                                    Format="dd/MM/yy"
                                    DateSelected="OnDateSelected" 
                                    IsVisible="False"
                                    iOSSpecific:Picker.UpdateMode="WhenFinished"
                                    HeightRequest="80"
                                    MaximumDate="{Binding PickerDate.MaximumDate}"
                                    />

感谢您的时间和帮助(对不起我的英语)

 PickerDate = new DatePicker();

 PickerDate.Date = DateTime.Today;

 PickerDate.MaximumDate= PickerDate.Date 
PickerDate = new DatePicker();

删除行

我认为你的问题是 MaximumDate 绑定没有正确绑定。

如果您只是像 MaximumDate="01/24/2021" 那样对 MaximumDate 进行硬编码,它的工作方式与 except 相同。

这是我测试的一个例子:

<StackLayout>
    <!-- Place new controls here -->
    <DatePicker x:Name="PickerDate" 
                                HorizontalOptions="FillAndExpand" 
                                Date="01/21/2021" 
                                Format="dd/MM/yy"
                                HeightRequest="80"
                                MaximumDate="01/24/2021"
                                />
</StackLayout>

结果:

如果你已经在Xaml中编写了DataPicker,则不需要再次初始化它,删除PickerDate = new DatePicker();