Есть время с часами, минутами и секундами в UWP? - PullRequest
0 голосов
/ 22 мая 2018

Я хочу иметь средство выбора времени, в котором я могу установить часы, минуты и секунды.Элемент управления по умолчанию timepicker не включает второй.Какой самый простой способ получить значение секунд в управлении таймером?

1 Ответ

0 голосов
/ 22 мая 2018

Встроенный TimePicker действительно не поддерживает ввод секунд.Вы можете создать подкласс TimePicker и расширить его вручную для поддержки этого сценария, но это может оказаться довольно сложным, поскольку вам придется не только изменять шаблон самого элемента управления, но вам придется редактировать TimePickerFlyoutPresenter для поддержки секундвход.Это может быть вообще невозможно, и может быть излишним.

Я думаю, что лучшим и простым решением было бы использование расширения TextBoxMask , которое является частью Windows Community Toolkit .Это позволяет вам определить пользовательский формат TextBox, который может выглядеть следующим образом:

<TextBox extensions:TextBoxMask.CustomMask="5:[0-5]"
                     extensions:TextBoxMask.Mask="99:59:59" />

Этот TextBox будет поддерживать ввод в формате hh:mm:ss.По умолчанию Mask поддерживает символы a для букв, 9 для цифр 0-9 и * для любых символов.Вы можете определить пользовательские символы маски, используя CustomMask, что я и сделал здесь, чтобы убедиться, что десятки минут и секунд ограничены до пятидесяти (00-59).

Другим решением может быть создание пользовательского элемента управленияон сочетает в себе обычный встроенный TimePicker с TextBox всего на несколько секунд, но я думаю, что TextBoxMask является лучшим и более удобным для пользователя решением.

...