Он отлично работает как на Android, так и на iOS. Теперь я хочу добавить кнопку «Очистить действие» в свой элемент управления CustomDatePicker, чтобы пользователь мог очистить выбранную дату.
Кто-нибудь знает как я могу добиться этого в MAUI? Я мало что знаю о Xamarin.Forms или MAUI, поскольку я новичок в этом. Если кто-то сможет мне помочь в этом, это будет очень полезно.
[list] [*]Я начал изучать технологию .NET MAUI. И я заметил, что элемент управления DatePicker не поддерживает нулевое/пустое значение.
[*]Итак, я создал собственный элемент управления, используя привязываемое свойство. Вот мой код:
[/list] CustomDatePickerControl.cs с использованием System;с использованием System.Globalization; [code]namespace TestApp.Controls { public class CustomDatePicker : DatePicker { public string _format = null;
public static readonly BindableProperty CustomDateProperty = BindableProperty.Create(nameof(CustomDate), typeof(DateTime?), typeof(CustomDatePicker), DateTime.Now, BindingMode.TwoWay, propertyChanged: OnDateChanged); public DateTime? CustomDate { get { return (DateTime?)GetValue(CustomDateProperty); } set { SetValue(CustomDateProperty, value); } } static void OnDateChanged(BindableObject bindable, object oldValue, object newValue) { var control = (CustomDatePicker)bindable; var dateFormate = CultureInfo.CurrentCulture.DateTimeFormat.ShortDatePattern; if (control.CustomDate.HasValue) { if (control._format != null) { control.Format = control._format; } else { control.Format = dateFormate; } control.Date = control.CustomDate.Value; control.Opacity = 1; } else { control._format = dateFormate; //Added character in quotes to escape it, otherwise it will not get display properly. control.Format = string.Format("Selec't' 'Date'"); control.Opacity = 0.3; } } protected override void OnPropertyChanged(string propertyName = null) { base.OnPropertyChanged(propertyName); if (propertyName == "Date") { CustomDate = Date; } } } } [/code] Использование на странице MainPage.xaml [code] [/code] MainPage.xaml.cs [code]{ InitializeComponent(); datePicker.CustomDate = null; } [/code] [list] [*]Он отлично работает как на Android, так и на iOS. Теперь я хочу добавить кнопку «Очистить действие» в свой элемент управления CustomDatePicker, чтобы пользователь мог очистить выбранную дату.
[*]Кто-нибудь знает как я могу добиться этого в MAUI? Я мало что знаю о Xamarin.Forms или MAUI, поскольку я новичок в этом. Если кто-то сможет мне помочь в этом, это будет очень полезно.