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


StaticResource jelölőnyelvi kiterjesztés

Bármely XAML tulajdonságattribútum értékét adja meg, ha egy már definiált erőforrásra mutató hivatkozást keres. Az erőforrás keresési viselkedése hasonló a betöltési idő kereséséhez, amely az aktuális XAML-lap korrektúráiból korábban betöltött erőforrásokat, valamint más alkalmazásforrásokat keres, és ezt az erőforrásértéket a futásidejű objektumok tulajdonságértékeként hozza létre.

XAML-attribútumok használata

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

XAML objektumelem-használat

<object>
  <object.property>
<StaticResource 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

Fontos

A StaticResource nem kísérelhet meg tovább hivatkozni az XAML-fájlban lexikálisan definiált erőforrásra. Az ilyen próbálkozások nem támogatottak, és még ha egy ilyen hivatkozás nem is hiúsul meg, a forward hivatkozás megkísérlése teljesítménybeli hátrányt okoz a betöltési időben, amikor a belső kivonattáblázatokban keresik a ResourceDictionary-t. A legjobb eredmény érdekében állítsa be az erőforrás-szótárak összetételét, hogy elkerülhetők legyenek a továbbítási hivatkozások. Ha nem tudja elkerülni a továbbhivatkozást, használja inkább a DynamicResource markup kiterjesztést.

A megadott ResourceKey meg kell, hogy feleljen egy meglévő erőforrásnak, amelyet egy x:Key Directive az oldal, vagy az alkalmazás valamely szintjén, a rendelkezésre álló vezérlőtémákban és külső erőforrásokban, vagy a rendszererőforrások között azonosítottak. Az erőforrás-keresés ebben a sorrendben történik. A statikus és dinamikus erőforrások erőforrás-keresési viselkedéséről további információt XAML-erőforrásokcímű témakörben talál.

Az erőforráskulcs lehet az XamlName grammatikájának bármely sztringje. Az erőforráskulcs 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 egy implicit stíluskulcson keresztül. További információért lásd: Vezérlőszerkesztési áttekintés.

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

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

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

StaticResource 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="{StaticResource 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 StaticResource 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 StaticResourceExtension osztály határozza meg.

StaticResource 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