Как получить уведомление от DatePicker и Timepicker, только пользователь нажимает кнопку «Готово» в формах Xamarin IOS - PullRequest
0 голосов
/ 20 ноября 2019

Я хочу знать, как получать уведомления от Datepicker и timepicker, только когда пользователь нажимает кнопку «Готово» в Xamarin формирует IOS . в настоящее время, когда свойство TimePicker изменено и DatePicker DateSelected повышается, когда когда-либо выбранный индекс выбора изменяется.

Помогите мне решить эту проблему.

1 Ответ

0 голосов
/ 21 ноября 2019

Когда пользователь нажимает кнопку «Готово» на DatePicker и TimerPicker, происходит событие не сфокусированное *1003*.

Например:

<StackLayout>
    <!-- Place new controls here -->
    <app71:myPicker Unfocused="DatePicker_Unfocused"/>

    <TimePicker Unfocused="TimePicker_Unfocused" />

</StackLayout>

Ив .cs:

private void DatePicker_Unfocused(object sender, FocusEventArgs e)
{
    Console.WriteLine("DatePicker_Unfocused");
}

private void TimePicker_Unfocused(object sender, FocusEventArgs e)
{
    Console.WriteLine("TimePicker_Unfocused");
}

Вы также можете обработать событие click в собственном проекте Xamarin.iOS с помощью пользовательского средства визуализации, вот пример DatePicker:

[assembly: ExportRenderer(typeof(myPicker), typeof(MyPickerRenderer))]
namespace App71.iOS
{
    public class MyPickerRenderer : DatePickerRenderer
    {
        protected override void OnElementChanged(ElementChangedEventArgs<DatePicker> e)
        {
            base.OnElementChanged(e);

            if (e.OldElement != null)
            {
                var toolbar = (UIToolbar)Control.InputAccessoryView;
                var doneBtn = toolbar.Items[1];

                doneBtn.Clicked -= DoneBtn_Clicked;
            }

            if (e.NewElement != null)
            {
                var toolbar = (UIToolbar)Control.InputAccessoryView;
                var doneBtn = toolbar.Items[1];

                doneBtn.Clicked += DoneBtn_Clicked;
            }
        }

        void DoneBtn_Clicked(object sender, EventArgs e)
        {
            Console.WriteLine("DoneBtn_Clicked");
        }
    }
}

См .:

как мы можем обработать сделанное нажатие кнопки-событие-для-ксамарина-выбора форм

пользовательский рендер

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...