TimePicker.SelectedTime Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает или задает время, выбранное в данный момент в элементе выбора времени.
public:
property IReference<TimeSpan> ^ SelectedTime { IReference<TimeSpan> ^ get(); void set(IReference<TimeSpan> ^ value); };
IReference<TimeSpan> SelectedTime();
void SelectedTime(IReference<TimeSpan> value);
public System.Nullable<System.TimeSpan> SelectedTime { get; set; }
var iReference = timePicker.selectedTime;
timePicker.selectedTime = iReference;
Public Property SelectedTime As Nullable(Of TimeSpan)
Значение свойства
Время, выбранное в данный момент в окне выбора времени.
Требования к Windows
Семейство устройств |
Windows 10, version 1809 (появилось в 10.0.17763.0)
|
API contract |
Windows.Foundation.UniversalApiContract (появилось в v7.0)
|
Примеры
Здесь свойство SelectedTime
используется для сравнения выбранного времени с текущим временем.
Обратите внимание, что, так как свойство SelectedTime
допускает значение NULL, необходимо явно привести его к DateTime
следующим образом: DateTime myTime = (DateTime)(DateTime.Today + checkTimePicker.SelectedTime);
.
<StackPanel>
<TimePicker x:Name="checkTimePicker"/>
<Button Content="Check time" Click="{x:Bind CheckTime}"/>
<TextBlock x:Name="resultText"/>
</StackPanel>
private void CheckTime()
{
// Using the SelectedTime property (nullable requires cast to DateTime).
DateTime myTime = (DateTime)(DateTime.Today + checkTimePicker.SelectedTime);
if (DateTime.Now >= myTime)
{
resultText.Text = "Your selected time has already past.";
}
else
{
string hrs = (myTime - DateTime.Now).Hours.ToString();
string mins = (myTime - DateTime.Now).Minutes.ToString();
resultText.Text = string.Format("Your selected time is {0} hours, {1} minutes from now.", hrs, mins);
}
}
Комментарии
Элемент управления "Выбор времени" имеет APITimeChanged/ и SelectedTime
/SelectedTimeChanged. Разница между ними заключается в том, что свойство Time
не допускает значения NULL, тогда как свойство SelectedTime
допускает значение NULL.
Значение SelectedTime
используется для внесения данных в элемент выбора времени. По умолчанию установлено значение null
. Если свойство SelectedTime
имеет значение null
, в свойстве Time
для TimeSpan задается значение 0. В противном случае значение Time
синхронизируется со значением SelectedTime
. Если свойство SelectedTime
имеет значение null
, управляющий элемент выбора будет иметь значение "не задано" и отображать имена полей вместо времени.
Время не увеличивается в режиме реального времени (как часы), если вы не предоставите привязку кода к некоторому значению, которое отслеживает текущее время во время работы приложения.
Значение времени можно задать как атрибут в XAML. Это, вероятно, проще всего, если вы уже объявляете объект TimePicker в XAML и не используете привязки для значения времени. Используйте строку в формате Чч:Мм , где Чч — часы и может находиться в диапазоне от 0 до 23, а Мм — минуты и могут быть в диапазоне от 0 до 59. "0" может быть начальным символом в Hh или Mm и обычно включается для ясности любых значений от 0 до 9. Например, "9:5" и "09:05" являются допустимыми и представляют одно и то же время, но "09:05" легче читать в разметке.
Чтобы задать время в коде, доступны различные методы в зависимости от языка программирования. Значение представлено как System.TimeSpan для C# и Visual Basic или Windows.Foundation.TimeSpan для расширений компонентов Visual C++ (C++/CX). Вероятно, самый простой способ получить значение System.TimeSpan , которое подходит для SelectedTime
, — использовать статический метод TimeSpan.Parse. Используйте строку в формате Чч:Мм (часы:минуты).
Независимо от того, задано ли оно в коде или XAML, класс TimePicker имеет логику приведения для значения, которое он сохраняет при попытке задать. Все значения дней игнорируются. Значения секунд игнорируются (например, в течение 30 секунд не округляются до следующей минуты). Доли секунд игнорируются. Значения не переносят вокруг (например, недопустимое значение "24:00"). Минимальное значение в — TimeSpan
время 0 (00:00, полночь), а максимальное значение — 23:59. Значения за пределами диапазона вызывают исключения, но в зависимости от особенностей исключения могут возникать в конструкции, а не в TimeSpan
проверке и приведении SelectedTime
.
Чтобы задать SelectedTime
значение в расширениях компонентов Visual C++ (C++/CX), необходимо задать Duration
поле структуры TimeSpan .
Duration
указывает время в 100 единицах наносекунд; напишите собственную логику для преобразования в представления "часы:минуты" и "из".
Любое значение, заданное в SelectedTime
коде или XAML, указывает начальное значение, отображаемое в элементе управления . В приложении во время выполнения это значение обычно задается пользователем во всплывающем элементе средства выбора времени. Время, выбранное пользователем, устанавливается, а событие SelectedTimeChanged возникает, когда пользователь вносит изменения и нажимает кнопку проверка метки во всплывающем элементе выбора времени, чтобы зафиксировать выбор.