Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Meghatározza és hivatkozik a külső összetevőkből betöltött erőforrások kulcsaira. Ez lehetővé teszi, hogy az erőforrás-keresés céltípust adjon meg egy szerelvényben, nem pedig explicit erőforrás-szótárt egy szerelvényben vagy osztályban.
XAML attribútumhasználat (beállítási kulcs, kompakt)
<object x:Key="{ComponentResourceKey {x:Type targetTypeName}, targetID}" ... />
XAML-attribútumhasználat (beállítási kulcs, részletes)
<object x:Key="{ComponentResourceKey TypeInTargetAssembly={x:Type targetTypeName}, ResourceID=targetID}" ... />
XAML attribútumhasználat (erőforrás kérése, tömörítés)
<object property="{DynamicResource {ComponentResourceKey {x:Type targetTypeName}, targetID}}" ... />
XAML attribútumhasználat (erőforrás kérése, részletes)
<object property="{DynamicResource {ComponentResourceKey TypeInTargetAssembly={x:Type targetTypeName}, ResourceID=targetID}}" ... />
XAML-értékek
| Érték | Leírás |
|---|---|
targetTypeName |
Az erőforrás-összeállításban definiált nyilvános közös nyelvi futtatókörnyezet (CLR) típusának neve. |
targetID |
Az erőforrás kulcsa. Az erőforrások keresésekor az targetID analóg lesz a x:Key Directive-vel. |
Megjegyzések
Ahogy a fenti használatokban látható, a {ComponentResourceKey} jelölőbővítmény-használat két helyen található:
Egy kulcs definíciója egy témaerőforrás-szótárban, amit a vezérlőelem szerzője ad meg.
Egy témaerőforrás elérése a szerelvényből, amikor újra meg szeretné előzni a vezérlőt, de olyan tulajdonságértékeket szeretne használni, amelyek a vezérlő témái által biztosított erőforrásokból származnak.
Témákból származó összetevő-erőforrásokra való hivatkozáshoz általában a {DynamicResource} használata ajánlott a {StaticResource}helyett. Ez a használatokban jelenik meg.
{DynamicResource} azért ajánlott, mert magát a témát a felhasználó módosíthatja. Ha azt szeretné, hogy a vezérlő szerzője által a téma támogatásához legjobban illeszkedő összetevő-erőforrás dinamikus is legyen, akkor engedélyezze, hogy az összetevő-erőforrás hivatkozás is dinamikus legyen.
A TypeInTargetAssembly azonosítja azt a típust, amely abban a célszerelvényben található, amelyben az erőforrás ténylegesen definiálva van. A ComponentResourceKey a TypeInTargetAssembly pontos helyétől való függetlenül definiálható és használható, de végül a típust hivatkozott szerelvények segítségével kell feloldani.
A ComponentResourceKey-t gyakran használják kulcsok definiálására, amelyek aztán osztálytagként kerülnek láthatóvá. Ebben a használatban a ComponentResourceKey osztálykonstruktort használja, nem a korrektúrakiterjesztést. További információ: lásd ComponentResourceKey, vagy a témán belüli "A téma erőforrásaihoz tartozó kulcsok definiálása és hivatkozása" című szakaszt aSzerzői műveletek áttekintése.
A kulcsok létrehozásához és a kulcsokkal ellátott erőforrásokra való hivatkozáshoz az attribútumszintaxis gyakran használatos a ComponentResourceKey korrektúrabővítményhez.
A megjelenített kompakt szintaxis a korrektúrakiterjesztés ComponentResourceKey konstruktor-aláírására és pozícióparaméter-használatára támaszkodik. Fontos, hogy a targetTypeName és a targetID milyen sorrendben legyenek megadva. A részletes szintaxis a ComponentResourceKey paraméter nélküli konstruktorra támaszkodik, majd a TypeInTargetAssembly-et és a ResourceId-t olyan módon állítja be, hogy az hasonló legyen egy objektumelem valódi attribútumszintaxisához. A részletes szintaxisban a tulajdonságok beállításának sorrendje nem fontos. A két alternatíva (kompakt és részletes) kapcsolatát és mechanizmusait részletesebben a korrektúrakiterjesztések és a WPF XAMLcímű témakörben ismertetjük.
A targetID értéke gyakorlatilag bármilyen objektum lehet, nem kell sztringnek lennie. A WPF leggyakoribb használata azonban az, hogy a targetID értéket a sztringtípusú formátumokhoz igazítja, és ezek a sztringek érvényesek az XamlName nyelvtani szabályok szerint.
ComponentResourceKey használható az objektumelem szintaxisában. Ebben az esetben a bővítmény megfelelő inicializálásához mind a TypeInTargetAssembly, mind a ResourceId tulajdonságok értékét meg kell adni.
A WPF XAML-olvasó implementációjában a jelölőbővítmény kezelését a ComponentResourceKey osztály határozza meg.
ComponentResourceKey egy korrektúrakiterjesztés. Jelölőkiterjesztéseket általában akkor alkalmaznak, amikor szükség van arra, hogy az attribútumértékek ne csak konstans értékek vagy kezelőnevek legyenek, és a követelmény globálisabb, mint bizonyos típusok vagy tulajdonságok esetében a típuskonverterek használata. Az XAML-ben az összes korrektúrakiterjesztés az attribútumszintaxisában a { és } karaktert használja, amely az a konvenció, amellyel az XAML-processzor felismeri, hogy egy korrektúrakiterjesztésnek fel kell dolgoznia az attribútumot. További információ: Korrektúrakiterjesztések és WPF XAML.
Lásd még
.NET Desktop feedback