Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Alguns controles, como Calendar e DatePicker, têm propriedades que usam o DateTime tipo. Embora você normalmente especifique uma data ou hora inicial para esses controles no code-behind em tempo de execução, você pode especificar uma data ou hora inicial no XAML. O analisador XAML do WPF manipula a análise de valores DateTime usando uma sintaxe de texto interna do XAML. Este tópico descreve as especificidades da sintaxe de DateTime texto XAML.
Quando usar a sintaxe XAML de DateTime
Configurar datas no XAML nem sempre é necessário e pode até não ser desejável. Por exemplo, você pode usar DateTime.Now a propriedade para inicializar uma data em tempo de execução ou fazer todos os ajustes de data para um calendário no código subjacente com base na entrada do usuário. No entanto, há cenários em que talvez você queira codificar manualmente datas dentro de um Calendar e DatePicker em um modelo de controle. A DateTime sintaxe XAML deve ser usada para esses cenários.
Sintaxe XAML de DateTime é um comportamento nativo
DateTime é uma classe definida nas bibliotecas de classes base do CLR. Devido à forma como as bibliotecas de classe base se relacionam com o restante do CLR, não é possível aplicar TypeConverterAttribute à classe e usar um conversor de tipo para processar cadeias de caracteres de XAML e convertê-las DateTime no modelo de objeto de tempo de execução. Não há nenhuma DateTimeConverter
classe que forneça o comportamento de conversão; o comportamento de conversão descrito neste tópico é nativo para o analisador XAML do WPF.
Formatar strings para a sintaxe XAML DateTime
Você pode especificar o formato de um DateTime com uma cadeia de caracteres de formato. Formatar cadeias de caracteres formalizam a sintaxe de texto que pode ser usada para criar um valor. DateTime os valores dos controles WPF existentes normalmente usam apenas os componentes de data, e não os de hora DateTime.
Ao especificar um DateTime em XAML, você pode usar qualquer uma das cadeias de caracteres de formato intercambiavelmente.
Você também pode usar formatos e formatar cadeias de caracteres que não são mostradas especificamente neste tópico. Tecnicamente, o XAML para qualquer valor que é especificado e então analisado pelo analisador XAML do WPF usa uma chamada interna para DateTime, portanto, você pode usar qualquer cadeia de caracteres aceita por DateTime.Parse como sua entrada XAML. Para obter mais informações, consulte DateTime.Parse.
Importante
A sintaxe XAML DateTime sempre usa en-us
como sua CultureInfo conversão nativa. Isso não é influenciado por Language valor ou xml:lang
valor no XAML, pois a conversão de tipo no nível do atributo XAML age sem esse contexto. Não tente interpolar as cadeias de caracteres de formato mostradas aqui devido a variações culturais, como a ordem em que dia e mês aparecem. As cadeias de caracteres de formato mostradas aqui são as cadeias de caracteres de formato exatas usadas ao analisar o XAML, independentemente de outras configurações de cultura.
As seções a seguir descrevem algumas das cadeias de caracteres de formato comuns DateTime .
Padrão de Data Curta ("d")
O seguinte mostra o formato de data abreviada para um DateTime em XAML.
M/d/YYYY
Esse é o formato mais simples que especifica todas as informações necessárias para usos típicos por controles do WPF e não pode ser influenciado por deslocamentos acidentais de fuso horário versus um componente de tempo e, portanto, é recomendado sobre os outros formatos.
Por exemplo, para especificar a data de 1º de junho de 2010, use a seguinte cadeia de caracteres:
3/1/2010
Para obter mais informações, consulte DateTimeFormatInfo.ShortDatePattern.
Padrão de data e hora ordenável ("s")
O seguinte mostra o padrão classificável DateTime em XAML:
yyyy'-'MM'-'dd'T'HH':'mm':'ss
Por exemplo, para especificar a data de 1º de junho de 2010, use a seguinte cadeia de caracteres (todos os componentes de hora são inseridos como 0):
2010-06-01T000:00:00
padrão RFC1123 ("r")
O padrão RFC1123 é útil porque pode ser uma sequência de caracteres de entrada de outros geradores de data que também usam o padrão RFC1123 por razões de invariabilidade cultural. O seguinte mostra o padrão de RFC1123 DateTime em XAML:
ddd, dd MMM yyyy HH':'mm':'ss 'UTC'
Por exemplo, para especificar a data de 1º de junho de 2010, use a seguinte cadeia de caracteres (todos os componentes de hora são inseridos como 0):
Mon, 01 Jun 2010 00:00:00 UTC
Outros formatos e padrões
Conforme indicado anteriormente, um DateTime em XAML pode ser especificado como qualquer cadeia de caracteres aceitável como entrada para DateTime.Parse. Isso inclui outros formatos formalizados (por exemplo UniversalSortableDateTimePattern) e formatos que não são formalizados como um formulário específico DateTimeFormatInfo . Por exemplo, o formulário YYYY/mm/dd
é aceitável como entrada para DateTime.Parse. Este tópico não tenta descrever todos os formatos possíveis que funcionam e, em vez disso, recomenda o formato de data curta como uma prática comum.
Consulte também
.NET Desktop feedback