我尝试在我的应用程序中使用.NET MAUI的日期选择器控件。我有一个要求,最初当屏幕显示需要显示什么或“-”下面的开始日期标签。但日期选择器控件显示默认值,如01/01/1900。现在,问题是如何修改一个日期选择器控件,使其最初不显示任何默认值?我已经做了它使用标签控件上面的日期选择器内网格。但这是工作与不同的控制。如何处理这个使用日期选择器控件本身?这是可能的吗?
63lcw9qa1#
也许像这样。
public class MyDatePicker : DatePicker { private string _format = null; public static readonly BindableProperty NullableDateProperty = BindableProperty.Create<MyDatePicker, DateTime?>(p => p.NullableDate, null); public DateTime? NullableDate { get { return (DateTime?)GetValue(NullableDateProperty); } set { SetValue(NullableDateProperty, value); UpdateDate(); } } private void UpdateDate() { if (NullableDate.HasValue) { if (null != _format) Format = _format; Date = NullableDate.Value; } else { _format = Format; Format = "pick ..."; } } protected override void OnBindingContextChanged() { base.OnBindingContextChanged(); UpdateDate(); } protected override void OnPropertyChanged(string propertyName = null) { base.OnPropertyChanged(propertyName); if (propertyName == "Date") NullableDate = Date; } }
在Xaml中
<local:MyDatePicker x:Name="myDatePicker"></local:MyDatePicker>
在主页. cs中
{ InitializeComponent(); myDatePicker.NullableDate = null; }
kkbh8khc2#
在Maui,DatePicker字段可以为空,这是一个需要增强的功能,有人在GitHub上提交了申请,你可以关注一下:[Enhancement] DatePicker and TimePicker should support DateOnly? and TimeOnly?
2条答案
按热度按时间63lcw9qa1#
也许像这样。
在Xaml中
在主页. cs中
kkbh8khc2#
在Maui,DatePicker字段可以为空,这是一个需要增强的功能,有人在GitHub上提交了申请,你可以关注一下:[Enhancement] DatePicker and TimePicker should support DateOnly? and TimeOnly?