Sintassi DateTime XAMLDateTime XAML Syntax

Alcuni controlli, ad esempio Calendar e DatePicker, dispongono di proprietà che utilizzano il DateTime tipo.Some controls, such as Calendar and DatePicker, have properties that use the DateTime type. Anche se una data o un'ora iniziale per questi controlli viene in genere specificata nel code-behind in fase di esecuzione, è possibile specificare una data o un'ora iniziale in XAML.Although you typically specify an initial date or time for these controls in the code-behind at run time, you can specify an initial date or time in XAML. Il parser XAML WPF gestisce l'analisi di DateTime valori utilizzando una sintassi del testo XAML incorporata.The WPF XAML parser handles parsing of DateTime values using a built-in XAML text syntax. In questo argomento descrive le specifiche del DateTime sintassi del testo XAML.This topic describes the specifics of the DateTime XAML text syntax.

Quando usare la sintassi DateTime XAMLWhen To Use DateTime XAML Syntax

Impostare le date in XAML non è sempre necessario e può anche non essere appropriato.Setting dates in XAML is not always necessary and may not even be desirable. Ad esempio, è possibile utilizzare il DateTime.Now proprietà per l'inizializzazione di una data in fase di esecuzione, oppure è possibile eseguire tutte le modifiche alla data di un calendario nel code-behind basato sull'input dell'utente.For example, you could use the DateTime.Now property to initialize a date at run time, or you could do all your date adjustments for a calendar in the code-behind based on user input. Tuttavia, esistono scenari in cui è possibile scegliere per le date in un Calendar e DatePicker nel modello di controllo.However, there are scenarios where you may want to hard-code dates into a Calendar and DatePicker in a control template. Il DateTime per questi scenari è necessario utilizzare sintassi XAML.The DateTime XAML syntax must be used for these scenarios.

La sintassi DateTime di XAML è un comportamento nativoDateTime XAML Syntax is a Native Behavior

DateTime è una classe che viene definita nelle librerie di classe di base di CLR.DateTime is a class that is defined in the base class libraries of the CLR. A causa di librerie di classi di base di correlazione tra il resto di CLR, non è possibile applicare TypeConverterAttribute alla classe e usare un convertitore di tipi per elaborare le stringhe da XAML e convertirli in DateTime nel modello a oggetti runtime.Because of how the base class libraries relate to the rest of the CLR, it is not possible to apply TypeConverterAttribute to the class and use a type converter to process strings from XAML and convert them to DateTime in the run time object model. Non esiste una classe DateTimeConverter che fornisce il comportamento di conversione. Il comportamento di conversione descritto in questo argomento è nativo del parser XAML WPF.There is no DateTimeConverter class that provides the conversion behavior; the conversion behavior described in this topic is native to the WPF XAML parser.

Stringhe di formato per la sintassi DateTime XAMLFormat Strings for DateTime XAML Syntax

È possibile specificare il formato di un DateTime con una stringa di formato.You can specify the format of a DateTime with a format string. Le stringhe di formato formalizzano la sintassi del testo che può essere usata per creare un valore.Format strings formalize the text syntax that can be used to create a value. DateTime valori per i controlli WPF utilizzano in genere solo i componenti data di DateTime e non i componenti della fase.DateTime values for the existing WPF controls generally only use the date components of DateTime and not the time components.

Quando si specifica un DateTime in XAML, è possibile utilizzare una delle stringhe di formato in modo intercambiabile.When specifying a DateTime in XAML, you can use any of the format strings interchangeably.

È anche possibile usare formati e stringhe di formato non illustrati in maniera specifica in questo argomento.You can also use formats and format strings that are not specifically shown in this topic. Tecnicamente, il codice XAML per qualsiasi DateTime valore specificato e quindi analizzato dal parser XAML WPF Usa una chiamata interna a DateTime.Parse, pertanto è possibile utilizzare qualsiasi stringa accettata da DateTime.Parse per l'input XAML.Technically, the XAML for any DateTime value that is specified and then parsed by the WPF XAML parser uses an internal call to DateTime.Parse, therefore you could use any string accepted by DateTime.Parse for your XAML input. Per altre informazioni, vedere DateTime.Parse.For more information, see DateTime.Parse.

Importante

La sintassi DateTime XAML utilizza sempre en-us come il CultureInfo per la conversione nativa.The DateTime XAML syntax always uses en-us as the CultureInfo for its native conversion. Non è influenzato da Language valore o xml:lang valore in XAML, poiché la conversione di tipo a livello di attributo XAML agisce senza tale contesto.This is not influenced by Language value or xml:lang value in the XAML, because XAML attribute-level type conversion acts without that context. Non tentare di interpolare le stringhe di formato mostrate qui a causa di variazioni relative alla lingua, come l'ordine di visualizzazione di giorno e mese.Do not attempt to interpolate the format strings shown here due to cultural variations, such as the order in which day and month appear. Le stringhe di formato mostrate qui sono le stringhe di formato esatte usate durante l'analisi del codice XAML indipendentemente dalle altre impostazioni cultura.The format strings shown here are the exact format strings used when parsing the XAML regardless of other culture settings.

Nelle sezioni seguenti vengono descritte alcune delle comuni DateTime stringhe di formato.The following sections describe some of the common DateTime format strings.

Schema di data breve ("d")Short Date Pattern ("d")

Di seguito è riportato il formato di data breve per un DateTime in XAML:The following shows the short date format for a DateTime in XAML:

M/d/YYYY

Questo è il formato più semplice che specifica tutte le informazioni necessarie per gli utilizzi tipici per i controlli WPF e non è influenzato dalle differenze di fuso orario rispetto a un componente relativo all'ora, quindi è consigliato rispetto altri formati.This is the simplest form that specifies all necessary information for typical usages by WPF controls, and cannot be influenced by accidental time zone offsets versus a time component, and is therefore recommended over the other formats.

Ad esempio, per specificare la data del 1 giugno 2010, usare la stringa seguente:For example, to specify the date of June 1, 2010, use the following string:

3/1/2010

Per altre informazioni, vedere DateTimeFormatInfo.ShortDatePattern.For more information, see DateTimeFormatInfo.ShortDatePattern.

Schema di data/ora ordinabile ("s")Sortable DateTime Pattern ("s")

Di seguito è riportato l'ordinabile DateTime modello in XAML:The following shows the sortable DateTime pattern in XAML:

yyyy'-'MM'-'dd'T'HH':'mm':'ss

Ad esempio, per specificare la data del 1 giugno 2010, usare la stringa seguente (tutti i componenti relativi all'ora vengono immessi come 0):For example, to specify the date of June 1, 2010, use the following string (time components are all entered as 0):

2010-06-01T000:00:00

Schema RFC1123 ("r")RFC1123 Pattern ("r")

Il modello RFC1123 è utile perché potrebbe essere un input di stringa da altri generatori di data che usano il modello RFC1123 per via delle impostazioni cultura invariabili.The RFC1123 pattern is useful because it could be a string input from other date generators that also use the RFC1123 pattern for culture invariant reasons. Nell'esempio seguente viene RFC1123 DateTime modello in XAML:The following shows the RFC1123 DateTime pattern in XAML:

ddd, dd MMM yyyy HH':'mm':'ss 'UTC'

Ad esempio, per specificare la data del 1 giugno 2010, usare la stringa seguente (tutti i componenti relativi all'ora vengono immessi come 0):For example, to specify the date of June 1, 2010, use the following string (time components are all entered as 0):

Mon, 01 Jun 2010 00:00:00 UTC

Altri formati e modelliOther Formats and Patterns

Come indicato in precedenza, un DateTime in XAML può essere specificato come qualsiasi stringa accettabile come input per DateTime.Parse.As stated previously, a DateTime in XAML can be specified as any string that is acceptable as input for DateTime.Parse. Sono inclusi altri formati formalizzati (ad esempio UniversalSortableDateTimePattern) e i formati non sono formalizzati come un particolare DateTimeFormatInfo form.This includes other formalized formats (for example UniversalSortableDateTimePattern), and formats that are not formalized as a particular DateTimeFormatInfo form. Ad esempio, il modulo YYYY/mm/dd è accettabile come input per DateTime.Parse.For example, the form YYYY/mm/dd is acceptable as input for DateTime.Parse. Questo argomento non tenta di descrivere tutti i possibili formati che funzionano e invece consiglia il formato di data breve come pratica standard.This topic does not attempt to describe all possible formats that work, and instead recommends the short date pattern as a standard practice.

Vedere ancheSee Also

Cenni preliminari su XAML (WPF)XAML Overview (WPF)