TimePicker.SelectedTime Propiedad

Definición

Obtiene o establece la hora seleccionada actualmente en el selector de hora.

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)

Valor de propiedad

Hora seleccionada actualmente en el selector de hora.

Requisitos de Windows

Familia de dispositivos
Windows 10, version 1809 (se introdujo en la versión 10.0.17763.0)
API contract
Windows.Foundation.UniversalApiContract (se introdujo en la versión v7.0)

Ejemplos

Aquí, se usa la propiedad SelectedTime para comparar la hora seleccionada con la hora actual.

Tenga en cuenta que, dado que la propiedad SelectedTime admite valores NULL, tendrá que convertirla explícitamente en DateTime, de esta manera: DateTime myTime = (DateTime)(DateTime.Today + checkTimePicker.SelectedTime);.

Selector de hora, botón y etiqueta de texto.

<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);
    }
}

Comentarios

El control de selector de hora tiene las API TimeChanged/ ySelectedTime/SelectedTimeChanged. La diferencia entre ellas es que Time no acepta valores NULL, mientras que SelectedTime admite valores NULL.

El valor de SelectedTime se usa para rellenar el selector de hora, y es null de manera predeterminada. Si SelectedTime es null, la propiedad Time se establece en una estructura TimeSpan de 0; de lo contrario, el valor Time se sincroniza con el valor SelectedTime. Cuando SelectedTime es null, el selector se "desconfigura" y muestra los nombres de campo en lugar de una hora.

El tiempo no aumentará en tiempo real (como lo haría un reloj), a menos que proporcione un enlace de código a algún valor que realice un seguimiento de la hora actual mientras se ejecuta la aplicación.

Puede establecer el valor de hora como atributo en XAML. Esto probablemente sea más fácil si ya declaras el objeto TimePicker en XAML y no usas enlaces para el valor de hora. Utilice una cadena con el formato Hh:Mm , donde Hh es horas y puede estar entre 0 y 23 y Mm es de minutos y puede estar entre 0 y 59. Un "0" puede ser el carácter inicial en Hh o Mm y normalmente se incluye para mayor claridad de los valores 0 a 9. Por ejemplo, "9:5" y "09:05" son válidos y representan la misma hora, pero "09:05" es más fácil de leer en el marcado.

Para establecer la hora en el código, tiene diferentes técnicas disponibles en función del lenguaje de programación. El valor se representa como System.TimeSpan para C# y Visual Basic, o Windows.Foundation.TimeSpan para extensiones de componentes de Visual C++ (C++/CX). Probablemente la manera más fácil de generar un valor System.TimeSpan adecuado para SelectedTime es usar el método estático TimeSpan.Parse. Use una cadena con el formato Hh:Mm (horas:minutos).

Tanto si se establece en código como en XAML, la clase TimePicker tiene lógica de coerción para el valor que conserva al intentar establecerla. Los valores de días se omiten. Los valores de segundos se omiten (por ejemplo, los segundos de más de 30 no se redondean hasta el minuto siguiente). Se omiten las fracciones de segundo. Los valores no se ajustan (por ejemplo, un valor de "24:00" no es válido). El valor mínimo dentro TimeSpan de es una hora de 0 (00:00, medianoche) y el valor máximo es 23:59. Los valores fuera del intervalo inician excepciones, pero dependiendo de los detalles, las excepciones pueden originarse en la TimeSpan construcción en lugar de en la validación y la coerción de SelectedTime.

Para establecer el SelectedTime valor en extensiones de componentes de Visual C++ (C++/CX), establezca el Duration campo de la estructura TimeSpan . Duration especifica una hora en 100 unidades nanosegundas; escriba su propia lógica para convertir a y desde representaciones horas:minutos.

Cualquier valor establecido para SelectedTime en el código o XAML especifica el valor inicial que se muestra en el control. En la aplicación en tiempo de ejecución, el usuario suele establecer ese valor en el control flotante del selector de tiempo. La hora seleccionada por el usuario se establece y el evento SelectedTimeChanged se produce cuando el usuario realiza un cambio y presiona el botón de marca de verificación en el control flotante del selector de hora para confirmar su selección.

Se aplica a