Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Algunos controles, como Calendar y DatePicker, tienen propiedades que usan el DateTime tipo . Aunque normalmente especificas una fecha o hora iniciales para estos controles en el código subyacente en tiempo de ejecución, puedes especificar una fecha o hora inicial en XAML. El analizador XAML de WPF controla el análisis de DateTime valores mediante una sintaxis de texto XAML integrada. En este tema se describen los detalles de la DateTime sintaxis de texto XAML.
Cuándo usar la sintaxis XAML DateTime
Establecer fechas en XAML no siempre es necesaria y es posible que ni siquiera sea deseable. Por ejemplo, podría usar la DateTime.Now propiedad para inicializar una fecha en tiempo de ejecución, o bien podría realizar todos los ajustes de fecha de un calendario en el código subyacente en función de la entrada del usuario. Sin embargo, hay escenarios en los que es posible que quiera fijar las fechas de forma rígida en un Calendar y un DatePicker en una plantilla de control. La DateTime sintaxis XAML debe usarse para estos escenarios.
La sintaxis XAML dateTime es un comportamiento nativo
DateTime es una clase que se define en las bibliotecas de clases base de CLR. Debido a cómo se relacionan las bibliotecas de clases base con el resto de CLR, no es posible aplicar TypeConverterAttribute a la clase y usar un convertidor de tipos para procesar cadenas de XAML y convertirlos DateTime en en el modelo de objetos en tiempo de ejecución. No hay ninguna DateTimeConverter clase que proporcione el comportamiento de conversión; el comportamiento de conversión descrito en este tema es nativo del analizador XAML de WPF.
Formato de cadenas de texto para la sintaxis de XAML DateTime
Puede especificar el formato de un DateTime mediante una cadena de formato. Dar formato a las cadenas formaliza la sintaxis de texto que se puede usar para crear un valor. DateTime los valores de los controles WPF existentes, en general, utilizan únicamente los componentes de fecha de DateTime, y no los componentes de hora.
Al especificar un DateTime en XAML, puedes usar cualquiera de las cadenas de formato indistintamente.
También puede usar formatos y cadenas de formato que no se muestran específicamente en este tema. Técnicamente, el XAML para cualquier DateTime valor especificado y, a continuación, analizado por el analizador XAML de WPF usa una llamada interna a DateTime.Parse, por lo que podrías usar cualquier cadena aceptada por DateTime.Parse para la entrada XAML. Para obtener más información, consulte DateTime.Parse.
Importante
La sintaxis XAML DateTime siempre usa en-us como CultureInfo para su conversión nativa. Esto no se ve afectado por el valor Language o el valor xml:lang en XAML, ya que la conversión de tipos a nivel de atributo en XAML actúa sin su contexto. No intente interpolar las cadenas de formato que se muestran aquí debido a variaciones culturales, como el orden en el que aparecen el día y el mes. Las cadenas de formato que se muestran aquí son las cadenas de formato exactas que se usan al analizar el XAML independientemente de otras configuraciones de referencia cultural.
En las secciones siguientes se describen algunas de las cadenas de formato común DateTime .
Patrón de fecha corta ("d")
A continuación se muestra el formato de fecha corta para un DateTime en XAML.
M/d/YYYY
Esta es la forma más sencilla que especifica toda la información necesaria para los usos típicos de los controles de WPF y no se puede verse afectada por desplazamientos accidentales de zona horaria frente a un componente de hora; por tanto, se recomienda sobre los otros formatos.
Por ejemplo, para especificar la fecha del 1 de junio de 2010, use la siguiente cadena:
3/1/2010
Para obtener más información, consulte DateTimeFormatInfo.ShortDatePattern.
Patrón de fecha y hora para ordenación ("s")
A continuación se muestra el patrón ordenable DateTime en XAML:
yyyy'-'MM'-'dd'T'HH':'mm':'ss
Por ejemplo, para especificar la fecha del 1 de junio de 2010, use la siguiente cadena (todos los componentes de hora se especifican como 0):
2010-06-01T000:00:00
patrón RFC1123 ("r")
El patrón de RFC1123 es útil porque podría ser una entrada de cadena de otros generadores de fechas que también usan el patrón de RFC1123 por motivos invariables de referencia cultural. A continuación se muestra el patrón RFC1123 DateTime en XAML:
ddd, dd MMM yyyy HH':'mm':'ss 'UTC'
Por ejemplo, para especificar la fecha del 1 de junio de 2010, use la siguiente cadena (todos los componentes de hora se especifican como 0):
Mon, 01 Jun 2010 00:00:00 UTC
Otros formatos y patrones
Como se indicó anteriormente, se puede especificar un DateTime objeto en XAML como cualquier cadena que sea aceptable como entrada para DateTime.Parse. Esto incluye otros formatos formalizados (por ejemplo UniversalSortableDateTimePattern), y formatos que no se formalizan como un formulario determinado DateTimeFormatInfo . Por ejemplo, el formulario YYYY/mm/dd es aceptable como entrada para DateTime.Parse. En este tema no se intenta describir todos los formatos posibles que funcionan y, en su lugar, se recomienda el patrón de fecha corta como práctica estándar.
Consulte también
.NET Desktop feedback