Megosztás a következőn keresztül:


DynamicResource markup bővítmény

Bármely XAML tulajdonságattribútum értékét adja meg úgy, hogy ezt az értéket egy meghatározott erőforrásra mutató hivatkozásként kezeli. Az erőforrás keresési viselkedése hasonló a futásidejű kereséshez.

XAML-attribútumok használata

<object property="{DynamicResource key}" ... />

XAML tulajdonságelem-használat

<object>
  <object.property>
    <DynamicResource ResourceKey="key" ... />
  </object.property>
</object>

XAML-értékek

Érték Leírás
key A kért erőforrás kulcsa. Ezt a kulcsot eredetileg a x:Key Directive rendelte hozzá, ha az erőforrás jelölőnyelvben lett létrehozva, vagy key paraméterként lett megadva, amikor meghívják a ResourceDictionary.Add-at, ha az erőforrás kódban jött létre.

Megjegyzések

A DynamicResource létrehoz egy ideiglenes kifejezést a kezdeti fordítás során, és így elhalasztja az erőforrások keresését, amíg a kért erőforrásértékre ténylegesen szükség van egy objektum létrehozásához. Ez az XAML-oldal betöltése után is előfordulhat. Az erőforrás értéke az aktuális lap hatókörétől kezdődően az összes aktív erőforrás-szótárban történő kulcskeresés alapján lesz megtalálva, és a fordítási folyamatból származó helyőrző kifejezés helyére kerül.

Fontos

A függőségi tulajdonság prioritását tekintve egy DynamicResource kifejezés egyenértékű azzal a pozícióval, ahol a dinamikus erőforrás-hivatkozás van alkalmazva. Ha olyan tulajdonság helyi értékét állítja be, amely korábban DynamicResource kifejezéssel rendelkezett helyi értékként, a DynamicResource teljesen el lesz távolítva. További információk:Dependency Property Value Precedence.

Bizonyos erőforrás-hozzáférési forgatókönyvek különösen alkalmasak a DynamicResource-ra, mint a StaticResource Markup bővítményre. A és DynamicResourcerelatív előnyeiről és teljesítménybeli következményeiről a StaticResource olvashat.

A megadott ResourceKey meg kell felelnie egy meglévő erőforrásnak, amelyet x:Key Directive meghatározott bizonyos szinten a lapon, az alkalmazásban, a rendelkezésre álló vezérlőtémákban és külső erőforrásokban vagy rendszererőforrásokban, és az erőforrás-keresés ebben a sorrendben fog történni. További információ a statikus és dinamikus erőforrások erőforrás-kereséséről: XAML-erőforrások.

Az erőforráskulcs az XamlName nyelvhelyességidefiniált karakterlánc lehet. Az erőforráskulcsok más objektumtípusok is lehetnek, például Type. A Type kulcs alapvető fontosságú ahhoz, hogy a vezérlőket témák szerint lehessen formázni. További információért lásd: Vezérlőszerkesztési áttekintés.

Az erőforrásértékek (például FindResource) keresésére szolgáló API-k ugyanazt az erőforrás-keresési logikát követik, mint amelyet a DynamicResourcehasznál.

Az erőforrásra való hivatkozás alternatív deklaratív módja a StaticResource Markup extension.

Az attribútumszintaxis a korrektúrakiterjesztés leggyakoribb szintaxisa. A DynamicResource azonosító sztringje után megadott karakterlánc token a mögöttes ResourceKey bővítményosztály DynamicResourceExtension értékéhez van hozzárendelve.

DynamicResource használható az objektumelem szintaxisában. Ebben az esetben a ResourceKey tulajdonság értékének megadása szükséges.

DynamicResource olyan részletes attribútumhasználatban is használható, amely a ResourceKey tulajdonságot tulajdonság=érték párként határozza meg:

<object property="{DynamicResource ResourceKey=key}" ... />

A részletes használat gyakran hasznos olyan bővítmények esetében, amelyek több beállítási tulajdonsággal rendelkeznek, vagy ha egyes tulajdonságok nem kötelezőek. Mivel DynamicResource csak egy beállítási tulajdonsággal rendelkezik, ami kötelező, ez a bőbeszédű használat nem jellemző.

A WPF XAML processzor implementációjában a jelölőbővítmény kezelését a DynamicResourceExtension osztály határozza meg.

DynamicResource 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