Aracılığıyla paylaş


DateTime XAML Sözdizimi

Calendar ve DatePickergibi bazı denetimlerin DateTime türünü kullanan özellikleri vardır. Bu denetimler için genellikle çalışma zamanında arka planda bir başlangıç tarihi veya saati belirtseniz de, XAML'de bir başlangıç tarihi veya saati belirtebilirsiniz. WPF XAML ayrıştırıcısı, yerleşik bir XAML metin söz dizimini kullanarak DateTime değerleri ayrıştırma işlemini işler. Bu konu başlığında DateTime XAML metin söz diziminin özellikleri açıklanmaktadır.

DateTime XAML Söz Dizimi Ne Zaman Kullanılır?

XAML'de tarihleri ayarlamak her zaman gerekli değildir ve hatta istenmeyebilir. Örneğin, çalışma zamanında bir tarih başlatmak için DateTime.Now özelliğini kullanabilir veya kullanıcı girişine göre arka plandaki kodda bir takvim için tüm tarih ayarlamalarınızı yapabilirsiniz. Ancak, tarihleri bir denetim şablonunda Calendar ve DatePicker olarak sabit kodlamak isteyebileceğiniz senaryolar vardır. Bu senaryolar için DateTime XAML söz dizimi kullanılmalıdır.

DateTime XAML Sözdizimi 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şkisi nedeniyle, sınıfa TypeConverterAttribute uygulamak ve XAML'den dizeleri işlemek ve bunları çalışma zamanı nesne modelindeki DateTime dönüştürmek için tür dönüştürücüsü kullanmak mümkün değildir. Dönüştürme davranışını sağlayan DateTimeConverter 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 Dizeleri Biçimlendir

Bir DateTime biçimini bir biçim dizesiyle belirtebilirsiniz. Biçim dizeleri, değer oluşturmak için kullanılabilecek metin söz dizimini resmileştirir. Mevcut WPF denetimleri için DateTime değerleri genellikle saat bileşenlerini değil yalnızca DateTime tarih bileşenlerini kullanır.

XAML'de bir DateTime belirtirken, biçim dizelerinden herhangi birini birbirinin yerine kullanabilirsiniz.

Ayrıca, bu konuda özellikle gösterilmeyen biçimler ve biçim dizeleri de kullanabilirsiniz. Teknik olarak, WPF XAML ayrıştırıcısı tarafından belirtilen ve sonra ayrıştırılan herhangi bir DateTime değeri için XAML, DateTime.Parseiçin bir iç çağrı kullanır, bu nedenle XAML girişiniz için DateTime.Parse tarafından kabul edilen herhangi bir dizeyi kullanabilirsiniz. Daha fazla bilgi için bkz. DateTime.Parse.

Önemli

DateTime XAML söz dizimi her zaman yerel dönüştürme için en-us olarak CultureInfo kullanır. XAML öznitelik düzeyi tür dönüştürmesi bu bağlam olmadan çalıştığından bu, XAML'deki Language değer veya xml:lang değerden etkilenmez. Burada gösterilen biçim dizelerini, örneğin gün ve ayın görüntülenme sırası gibi kültürel çeşitlemeler nedeniyle ilişkilendirmeye kalkış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 yaygın DateTime biçim dizelerinden bazıları açıklanmaktadır.

Kısa Tarih Deseni ("d")

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

M/d/YYYY

Bu, WPF denetimleri tarafından yapılan tipik kullanımlar için gerekli tüm bilgileri belirten en basit formdur ve zaman bileşeninden kaynaklanabilecek yanlış saat dilimi farklarından etkilenmez; bu nedenle diğer biçimlere tercih edilir.

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

3/1/2010

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

Sıralanabilir DateTime Formatı ("s")

Aşağıda XAML'deki sıralanabilir DateTime deseni gösterilmektedir:

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

Örneğin, 1 Haziran 2010 tarihini belirtmek için aşağıdaki dizeyi kullanın (saat bileşenlerinin tümü 0 olarak girilir):

2010-06-01T000:00:00

RFC1123 Deseni ("r")

RFC1123 deseni, kültür sabit olmayan nedenlerle RFC1123 desenini de kullanan diğer tarih oluşturuculardan bir dize girişi olabileceğinden kullanışlıdır. Aşağıda XAML'deki RFC1123 DateTime deseni gösterilmektedir:

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

Örneğin, 1 Haziran 2010 tarihini belirtmek için aşağıdaki dizeyi kullanın (saat bileşenlerinin tümü 0 olarak girilir):

Mon, 01 Jun 2010 00:00:00 UTC

Diğer Biçimler ve Desenler

Daha önce belirtildiği gibi, XAML'de bir DateTime, DateTime.Parseiçin giriş olarak kabul edilebilecek herhangi bir dize olarak belirtilebilir. Bu, diğer resmileştirilmiş biçimleri (örneğin UniversalSortableDateTimePattern) ve belirli bir DateTimeFormatInfo biçimi olarak resmileştirilmeyen biçimleri içerir. Örneğin, form YYYY/mm/ddDateTime.Parseiçin giriş olarak kabul edilebilir. Bu konu, çalışan tüm olası biçimleri açıklamayı denemez ve bunun yerine kısa tarih desenini standart bir uygulama olarak önerir.

Ayrıca bakınız

  • WPF'de XAML