Я пишу Android средство визуализации для пользовательского crontrol форм Xamarin Forms (CustomDatePicker). Я нашел образец кода, который делает работу. Однако есть несколько строк кода, которые я не понимаю. Я имею в виду первый параметр конструктора DatePickerDialog, который является функцией обратного вызова. Может кто-нибудь объяснить, что это на самом деле делает, а также, если мне действительно нужны все команды, например
view.Date = e.Date ?
Я уже устанавливаю дату, когда нажимается кнопка «Готово» ?? (этот код существует).
[assembly: ExportRenderer(typeof(Common.Infrastructure.Controls.CustomDatePicker), typeof(CustomDatePickerRenderer))]
namespace Employer.Droid
{
public class CustomDatePickerRenderer : ViewRenderer<CustomDatePicker, EditText>
{
public CustomDatePickerRenderer(Context context) : base(context)
{
}
///more logic
void CreateDatePickerDialog(int year, int month, int day)
{
CustomDatePicker view = Element;
_dialog = new DatePickerDialog(Context, **(o, e) =>
{
view.Date = e.Date;
((IElementController)view).SetValueFromRenderer(VisualElement.IsFocusedProperty, false);
Control.ClearFocus();
_dialog = null;**
}, year, month, day);
_dialog.SetButton("Done", (sender, e) =>
{
SetDate(_dialog.DatePicker.DateTime);
});
_dialog.DatePicker.MinDate = (long)(DateTime.Now.Date - new DateTime(1970, 1, 1)).TotalMilliseconds;
}