DateTime XAML Sözdizimi

Ve gibi bazı denetimlerin, Calendar DatePicker türü kullanan özellikleri vardır DateTime . Çalışma zamanında arka plan kodunda bu denetimler için bir başlangıç tarihi veya saati belirtseniz de, XAML 'de bir başlangıç tarihi veya saati belirtebilirsiniz. WPF XAML ayrıştırıcısı, DateTime YERLEŞIK xaml metin sözdizimi kullanarak değerlerin ayrıştırılmasını işler. Bu konuda DateTime xaml metin sözdiziminin özellikleri açıklanmaktadır.

DateTime XAML sözdizimi ne zaman kullanılır?

XAML 'de tarihlerin ayarlanması her zaman gerekli değildir ve istenmeyebilir. Örneğin, DateTime.Now çalışma zamanında bir tarih başlatmak için özelliğini kullanabilir veya kullanıcı girdisine göre arka plan kod içindeki bir takvime ait tüm tarih ayarlamalarınızı yapabilirsiniz. Ancak, bir Calendar Denetim şablonunda tarihleri bir ve içinde sabit kodlarda bırakmak isteyebileceğiniz senaryolar vardır DatePicker . DateTimeXaml söz dizimi Bu senaryolar için kullanılmalıdır.

DateTime XAML söz dizimi yerel bir davranıştır

DateTime , CLR 'nin temel sınıf kitaplıklarında tanımlanan bir sınıftır. Temel sınıf kitaplıklarının CLR 'nin geri kalanıyla ilişkilendirilmesi nedeniyle, TypeConverterAttribute sınıfa uygulanamaz ve xaml 'den dizeleri işlemek ve DateTime çalışma zamanı nesne modelinde dönüştürmek üzere bir tür dönüştürücüsü kullanmak mümkün değildir. DateTimeConverterDönüştürme davranışını sağlayan bir sınıf yoktur; bu konuda açıklanan dönüştürme DAVRANıŞı WPF XAML ayrıştırıcısında yereldir.

DateTime XAML sözdizimi için biçim dizeleri

Biçim dizesiyle bir biçimini belirtebilirsiniz DateTime . Biçim dizeleri bir değer oluşturmak için kullanılabilen metin sözdizimini şekilleştir. DateTime Mevcut WPF denetimlerinin değerleri genellikle, saat bileşenlerinden değil yalnızca öğesinin Tarih bileşenlerini kullanır DateTime .

DateTimeXAML içinde bir belirtildiğinde, biçim dizelerinden herhangi birini birbirinin yerine kullanabilirsiniz.

Bu konuda özellikle gösterilen biçimleri ve biçim dizelerini de kullanabilirsiniz. Teknik olarak, DateTime belirtilen ve daha sonra WPF XAML ayrıştırıcısı tarafından ayrıştırılmış bir değer IÇIN XAML, için bir iç çağrı kullanır DateTime.Parse , bu nedenle XAML girişinde tarafından kabul edilen herhangi bir dizeyi kullanabilirsiniz DateTime.Parse . Daha fazla bilgi için bkz. DateTime.Parse.

Önemli

DateTime XAML sözdizimi her zaman en-us CultureInfo kendi yerel dönüştürmesi için olarak kullanır. Language xml:lang Xaml öznitelik düzeyi tür dönüştürmesi bu bağlam olmadan DAVRANDıĞı için XAML içindeki değer veya değer bundan etkilenmez. Burada gösterilen biçim dizelerini, gün ve ayın sırası gibi kültürel değişimler nedeniyle, burada gösterilen biçim dizelerini enterpolalemeye çalışmayın. Burada gösterilen biçim dizeleri, diğer kültür ayarlarından bağımsız olarak XAML ayrıştırılırken kullanılan tam biçim dizeleridir.

Aşağıdaki bölümlerde bazı ortak DateTime Biçim dizeleri açıklanır.

Kısa tarih deseninin ("d")

Aşağıda bir XAML içindeki için kısa tarih biçimi gösterilmektedir DateTime :

M/d/YYYY

Bu, WPF denetimleri tarafından tipik kullanımlar için gerekli tüm bilgileri belirten en basit biçimdir ve yanlışlıkla saat dilimi uzaklıkları bir zaman bileşeni ile etkilenmez ve bu nedenle diğer biçimler üzerinde önerilir.

Örneğin, 1 Haziran 2010 tarihini belirtmek için şu dizeyi kullanın:

3/1/2010

Daha fazla bilgi için bkz. DateTimeFormatInfo.ShortDatePattern.

Sıralanabilir DateTime kriteri ("s")

DateTimeXaml 'de sıralanabilir desenler aşağıda gösterilmiştir:

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

Örneğin, 1 Haziran 2010 tarihini belirtmek için aşağıdaki dizeyi kullanın (zaman bileşenleri 0 olarak girilir):

2010-06-01T000:00:00

RFC1123 kalıbı ("r")

RFC1123 deseninin kullanılması faydalı olur çünkü kültür sabiti nedenleriyle RFC1123 modelini de kullanan diğer tarih oluşturucularından bir dize girişi olabilir. Aşağıda, DateTime xaml 'de RFC1123 deseninin gösterildiği görülmektedir:

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

Örneğin, 1 Haziran 2010 tarihini belirtmek için aşağıdaki dizeyi kullanın (zaman bileşenleri 0 olarak girilir):

Mon, 01 Jun 2010 00:00:00 UTC

Diğer biçimler ve desenler

Daha önce belirtildiği gibi, DateTime xaml içindeki bir, için girdi olarak kabul edilebilir herhangi bir dize olarak belirtilebilir DateTime.Parse . Bu, diğer biçim biçimlerini (örneğin UniversalSortableDateTimePattern ,) ve belirli bir form olarak biçimsiz olmayan biçimleri içerir DateTimeFormatInfo . Örneğin, formu YYYY/mm/dd için giriş olarak kabul edilebilir DateTime.Parse . Bu konu, çalışan tüm olası biçimleri açıklamaya çalışmaz ve bunun yerine kısa tarih deseninin standart bir uygulama olarak kullanılmasını önerir.

Ayrıca bkz.