Compartir a través de


TimePicker.Time Propiedad

Definición

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

public:
 property TimeSpan Time { TimeSpan get(); void set(TimeSpan value); };
TimeSpan Time();

void Time(TimeSpan value);
public System.TimeSpan Time { get; set; }
var timeSpan = timePicker.time;
timePicker.time = timeSpan;
Public Property Time As TimeSpan
<TimePicker Time="timeSpanString" />

Valor de propiedad

Hora establecida actualmente en el selector de hora.

Ejemplos

Aquí, la Time propiedad se usa para comparar la hora del selector con la hora actual.

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 Time property.
    DateTime myTime = DateTime.Today + checkTimePicker.Time;
    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 Time/ API TimeChanged y SelectedTime/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 Time 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 Time.

Para establecer el Time 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 Time 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 TimeChanged 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.

Notas de las versiones anteriores

En versiones anteriores a la introducción de la propiedad SelectedTime en Windows 10, versión 1809 (SDK 17763), el valor predeterminado de Time es el momento en que se crea una instancia del objeto TimePicker cuando la aplicación se ejecuta o carga ese objeto específico.

Se aplica a