Aracılığıyla paylaş


Tema Sözlüğü İşaretleme Uzantısı

Özel kontrol geliştiricileri veya üçüncü taraf denetimlerini entegre eden uygulamalar için, denetimin stilinde kullanılmak üzere tema ile ilgili kaynak sözlüklerini yüklemek amacıyla bir yol sağlar.

XAML Öznitelik Kullanımı

<object property="{ThemeDictionary assemblyUri}" ... />

XAML Nesne Öğesi Kullanımı

<object>
  <object.property>
    <ThemeDictionary AssemblyName="assemblyUri"/>
  <object.property>
<object>

XAML Değerleri

Değer Açıklama
assemblyUri Tema bilgilerini içeren derlemenin tekdüzen kaynak tanımlayıcısı (URI). Genellikle bu, daha büyük paketteki bir derlemeye başvuran bir paket URI'dir. Derleme kaynakları ve paket URI'leri dağıtım sorunlarını basitleştirir. Daha fazla bilgi için WPF'deki Paket URI'lerine bkz..

Açıklamalar

Bu uzantı yalnızca belirli bir özellik değerini doldurmaya yöneliktir: ResourceDictionary.Sourceiçin bir değer.

Bu uzantıyı kullanarak, bazı stilleri yalnızca kullanıcının sistemine Windows Aero teması yüklendiğinde ve diğer stilleri yalnızca Luna teması aktif olduğunda kullanılacak şekilde, yalnızca kaynaklara özel tek bir derleme belirtebilirsiniz. Bu uzantı kullanılarak, denetime özgü kaynak sözlüğü içeriği otomatik olarak geçersiz kılınabilir ve gerektiğinde başka bir temaya özel olacak şekilde yeniden yüklenebilir.

assemblyUri dizesi (AssemblyName özellik değeri), belirli bir tema için hangi sözlüğün geçerli olduğunu tanımlayan bir adlandırma kuralının temelini oluşturur. ProvideValue için ThemeDictionary mantığı, önceden derlenmiş bir kaynak derlemesinde yer aldığı gibi belirli bir tema sözlüğü değişkenine işaret eden tekdüzen bir kaynak tanımlayıcısı (URI) oluşturarak kuralı tamamlar. Bu kuralı veya genel denetim stili ve kavram olarak sayfa/uygulama düzeyi stili ile tema etkileşimlerini açıklama burada tam olarak ele alınmamıştır. ThemeDictionary kullanmanın temel senaryosu, uygulama düzeyinde bildirilen Source'nin ResourceDictionary özelliğini belirtmektir. Derleme için doğrudan URI yerine ThemeDictionary uzantısı aracılığıyla bir URI sağladığınızda, uzantı mantığı sistem teması her değiştiğinde geçerli olan geçersizleştirme mantığı sağlar.

Öznitelik söz dizimi, bu işaretleme uzantısıyla kullanılan en yaygın söz dizimidir. ThemeDictionary tanımlayıcı dizesinden sonra sağlanan dize belirteci, temel alınan AssemblyName uzantı sınıfının ThemeDictionaryExtension değeri olarak atanır.

ThemeDictionary nesne öğesi söz diziminde de kullanılabilir. Bu durumda, AssemblyName özelliğinin değerini belirtmek gerekir.

ThemeDictionary, Member özelliğini özellik=değer çifti olarak belirten ayrıntılı bir nitelik kullanımında da kullanılabilir.

<object property="{ThemeDictionary AssemblyName=assemblyUri}" ... />

Ayrıntılı kullanım, birden fazla ayarlanabilir özelliğe sahip uzantılarda veya bazı özellikler opsiyonel olduğunda genellikle yararlıdır. ThemeDictionary'nin yalnızca bir zorunlu ayarlanabilir özelliği olduğundan, bu ayrıntılı kullanım tipik değildir.

WPF XAML işlemci uygulamasında, bu işaretleme uzantısının işlenmesi ThemeDictionaryExtension sınıfı tarafından tanımlanır.

ThemeDictionary bir işaretleme uzantısıdır. İşaretleme uzantıları, genellikle öznitelik değerlerinin sabit değerler ya da işleyici isimlerinden farklı olması gerektiğinde uygulanır ve bu gereksinim, belirli türlere veya özelliklere tür dönüştürücü yerleştirmekten daha geniş kapsamlıdır. XAML'deki tüm işaretleme uzantıları öznitelik söz diziminde { ve } karakterlerini kullanır. Bu, bir XAML işlemcisinin işaretleme uzantısının özniteliği işlemesi gerektiğini tanıdığı kuraldır. Daha fazla bilgi için bkz. biçimlendirme uzantıları ve WPF XAML.

Ayrıca bakınız