ThemeDictionary Biçimlendirme Uzantısı

Denetimin stilinde kullanılacak temaya özgü kaynak sözlüklerini yüklemek için üçüncü taraf denetimlerini tümleştiren özel denetim yazarları veya uygulamaları 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

Değer Tanım
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 bkz . WPF'de URI'leri paketleme.

Açıklamalar

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

Bu uzantıyı kullanarak, yalnızca Kullanıcının sistemine Windows Aero teması uygulandığında, diğer stilleri yalnızca Luna teması etkinken vb. kullanılacak bazı stilleri içeren 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.

Dize assemblyUri (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. mantığıThemeDictionary, ProvideValue ö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. Kullanımın ThemeDictionary temel senaryosu, uygulama düzeyinde bildirilen bir ResourceDictionary özelliğini belirtmektirSource. Derleme için doğrudan URI yerine bir ThemeDictionary uzantı aracılığıyla 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özdizimi, bu işaretleme uzantısı ile kullanılan en yaygın sözdizimidir. Tanımlayıcı dizesinden ThemeDictionary sonra sağlanan dize belirteci, temel alınan ThemeDictionaryExtension uzantı sınıfının değeri olarak AssemblyName atanır.

ThemeDictionary nesne öğesi söz diziminde de kullanılabilir. Bu durumda, özelliğin AssemblyName değerinin belirtilmesi gerekir.

ThemeDictionary özelliği bir property=value çifti olarak belirten Member ayrıntılı bir öznitelik 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. Gerekli olan tek bir ayarlanabilir özelliği olduğundan ThemeDictionary , 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 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 bkz.