Как добавить кнопку очистки в элемент управления CustomDatePicker (.NET MAUI)?IOS

Программируем под IOS
Ответить
Anonymous
 Как добавить кнопку очистки в элемент управления CustomDatePicker (.NET MAUI)?

Сообщение Anonymous »

  • Я начал изучать технологию .NET MAUI. И я заметил, что элемент управления DatePicker не поддерживает нулевое/пустое значение.
  • Итак, я создал собственный элемент управления, используя привязываемое свойство. Вот мой код:
CustomDatePickerControl.cs
с использованием System;с использованием System.Globalization;

Код: Выделить всё

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;
}
}
}
}
Использование на странице MainPage.xaml MainPage.xaml.cs

Код: Выделить всё

{
InitializeComponent();
datePicker.CustomDate = null;
}
  • Он отлично работает как на Android, так и на iOS. Теперь я хочу добавить кнопку «Очистить действие» в свой элемент управления CustomDatePicker, чтобы пользователь мог очистить выбранную дату.
  • Кто-нибудь знает как я могу добиться этого в MAUI? Я мало что знаю о Xamarin.Forms или MAUI, поскольку я новичок в этом. Если кто-то сможет мне помочь в этом, это будет очень полезно.
Ожидаемый результат:
Изображение

Изображение


Подробнее здесь: https://stackoverflow.com/questions/750 ... l-net-maui
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»