Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Dış derlemelerden yüklenen kaynaklar için anahtarları tanımlar ve bunlara başvurur. Bu, bir derlemede hedef türü belirtmek için kaynak aramasını etkinleştirir, kaynakları bir derlemede veya bir sınıftaki açıkça tanımlanmış bir kaynak sözlüğü ile belirtmek yerine.
XAML Öznitelik Kullanımı (ayar anahtarı, sade)
<object x:Key="{ComponentResourceKey {x:Type targetTypeName}, targetID}" ... />
XAML Öznitelik Kullanımı (ayar anahtarı, ayrıntılı)
<object x:Key="{ComponentResourceKey TypeInTargetAssembly={x:Type targetTypeName}, ResourceID=targetID}" ... />
XAML Öznitelik Kullanımı (kaynak isteme, sıkıştırma)
<object property="{DynamicResource {ComponentResourceKey {x:Type targetTypeName}, targetID}}" ... />
XAML Öznitelik Kullanımı (kaynak isteme, ayrıntılı)
<object property="{DynamicResource {ComponentResourceKey TypeInTargetAssembly={x:Type targetTypeName}, ResourceID=targetID}}" ... />
XAML Değerleri
| Değer | Açıklama |
|---|---|
targetTypeName |
Kaynak derlemesinde tanımlanan ortak ortak dil çalışma zamanı (CLR) türünün adı. |
targetID |
Kaynağın anahtarı. Kaynaklar arandığında, targetID kaynağın x:Key Yönergesine benzer olacaktır. |
Açıklamalar
Yukarıdaki kullanımlarda görüldüğü gibi, {ComponentResourceKey} işaretleme uzantısı kullanımı iki yerde bulunur:
Denetim yazarı tarafından sağlanan tema kaynak sözlüğündeki bir anahtarın tanımı.
Denetimin tasarımını yenilerken ancak denetimin temaları tarafından sağlanan kaynaklardan gelen özellik değerlerini kullanmak istediğinizde, derlemedeki bir tema kaynağına erişme.
Temalardan gelen bileşen kaynaklarına başvurmak için genellikle {DynamicResource} yerine {StaticResource} kullanmanız önerilir. Bu, kullanımlarda gösterilir.
{DynamicResource} önerilir çünkü temanın kendisi kullanıcı tarafından değiştirilebilir. Denetim yazarının temayı destekleme amacına en yakın bileşen kaynağını istiyorsanız, bileşen kaynak başvurunuzun da dinamik olmasını etkinleştirmeniz gerekir.
, TypeInTargetAssembly kaynağın gerçekten tanımlandığı hedef derlemede var olan bir türü tanımlar.
ComponentResourceKey öğesi, TypeInTargetAssembly'nin nerede tanımlandığını tam olarak bilmeden bağımsız olarak tanımlanabilir ve kullanılabilir, ancak son olarak türü referans verilen derlemeler aracılığıyla çözümlemesi gerekir.
ComponentResourceKey için yaygın bir kullanım, bir sınıfın üyesi olarak sunulacak anahtarları tanımlamaktır. Bu kullanım için, ComponentResourceKey sınıf oluşturucusunu kullanırsınız, işaretleme uzantısını değil. Daha fazla bilgi için, ComponentResourceKey konusunun "Tema Kaynakları için Anahtar Tanımlama ve Başvurma" bölümüne bakın.
Hem anahtar oluşturma hem de anahtarlı kaynaklara başvurma için, işaretleme uzantısı için ComponentResourceKey öznitelik söz dizimi yaygın olarak kullanılır.
Gösterilen sıkı söz dizimi, bir işaretleme uzantısının oluşturucu imzasına ve konumsal parametre kullanımına dayanır.
targetTypeName ve targetID değerlerinin veriliş sırası önemlidir. Ayrıntılı söz dizimi, parametresiz yapılandırıcıya ComponentResourceKey dayanır ve ardından TypeInTargetAssembly ve ResourceId öznitelikleri, bir nesne öğesindeki gerçek öznitelik söz dizimine benzer şekilde ayarlanır. Ayrıntılı söz diziminde, özelliklerin ayarlanma sırası önemli değildir. Bu iki alternatifin (sıkıştırılmış ve ayrıntılı) ilişkisi ve mekanizmaları İşaretleme Uzantıları ve WPF XAML konusunda daha ayrıntılı olarak açıklanmıştır.
Teknik olarak, değeri targetID herhangi bir nesne olabilir, bir dize olması gerekmez. Ancak WPF'deki en yaygın kullanım, değeri dize olan formlarla ve bu tür dizelerin targetID geçerli olduğu formlarla hizalamaktır.
ComponentResourceKey nesne öğesi söz diziminde kullanılabilir. Bu durumda, uzantıyı düzgün bir şekilde başlatmak için hem hem de TypeInTargetAssemblyResourceId özelliklerinin değerinin belirtilmesi gerekir.
WPF XAML okuyucu uygulamasında, bu işaretleme uzantısı için işleme sınıfı tarafından ComponentResourceKey tanımlanır.
ComponentResourceKey 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
.NET Desktop feedback