ThemeDictionary Biçimlendirme Uzantısı

Özel denetim yazarlarının veya üçüncü taraf denetimleri tümleştiren uygulamaların, denetimin stil oluşturmada kullanmak üzere temaya özgü kaynak sözlüklerini yüklemesi için 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

assemblyUri Tema bilgilerini içeren derlemenin tekdüz kaynak tanımlayıcısı (URI). Genellikle bu, daha büyük pakette bir derlemeye başvurulan bir paket URI'dir. Derleme kaynakları ve paket URL'leri dağıtım sorunlarını basitleştirir. Daha fazla bilgi için bkz. WPF'de Paket URI'leri.

Açıklamalar

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

Bu uzantıyı kullanarak, yalnızca kullanıcının sistemine Windows Havacılık teması uygulandığında, diğer stiller yalnızca Luna teması etkin olduğunda, diğer stillerde kullanmak üzere bazı stilleri içeren tek bir yalnızca kaynak derlemesi belirtebilirsiniz. Bu uzantı kullanılarak, denetime özgü kaynak sözlüğü içeriği otomatik olarak geçersiz kılınarak başka bir temaya özgü olacak şekilde yeniden yüklenebilir.

Dize ( özellik değeri), belirli bir tema için hangi sözlüğün geçerli olduğunu tanımlayan assemblyUriAssemblyName bir adlandırma kuralının temelini oluşturur. mantığı, önceden derlemesi yapılan bir kaynak derlemesinde yer alan belirli bir tema sözlüğü varyantını vurgulayan tekdüz bir kaynak tanımlayıcısı ProvideValueThemeDictionary (URI) oluşturarak kuralı tamamlar. Bu kuralın veya genel denetim stili ve sayfa/uygulama düzeyi stili ile tema etkileşimlerinin kavram olarak açıklanmış olduğu açıklanmaz. kullanmanın temel ThemeDictionary senaryosu, uygulama Source düzeyinde bildirilen bir özelliğini ResourceDictionary belirtmektir. Doğrudan URI yerine bir uzantı aracılığıyla derleme için bir URI sağlarsanız, uzantı mantığı sistem teması her değiştinde geçerli olan ThemeDictionary geçersiz kılınma mantığını sağlar.

Öznitelik sözdizimi, bu işaretleme uzantısı ile kullanılan en yaygın sözdizimidir. Tanımlayıcı dizesinin ardından sağlanan ThemeDictionary dize belirteci, temel AssemblyName uzantı sınıfının değeri olarak ThemeDictionaryExtension atanır.

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

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

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

Ayrıntılı kullanım, genellikle birden fazla ayarlanabilir özelliğe sahip uzantılar için veya bazı özellikler isteğe bağlıysa yararlıdır. Yalnızca ThemeDictionary bir ayarlandırabilirsiniz özelliği olduğundan, bu ayrıntılı kullanım tipik değildir.

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

ThemeDictionary bir işaretleme uzantısıdır. Biçimlendirme uzantıları, genellikle öznitelik değerlerinin değişmez değerler veya işleyici isimleri dışına çıkma gereksinimi olduğunda ve bu gereksinim, belirli türler veya özellikler üzerine tür dönüştürücülerini koymaktan daha genel olduğunda uygulanır. XAML'deki tüm işaretleme uzantıları, öznitelik söz dizimlerinde { ve } karakterlerini kullanır. Bu kural, bir XAML işlemcisinin işaretleme uzantısının özniteliği işlemesi gerektiğini tanıması kuralıdır. Daha fazla bilgi için bkz. İşaretleme Uzantıları ve WPF XAML.

Ayrıca bkz.