FrameworkContentElement.Resources Tulajdonság

Definíció

Lekéri vagy beállítja az aktuális helyileg definiált erőforrásszótárat.

public:
 property System::Windows::ResourceDictionary ^ Resources { System::Windows::ResourceDictionary ^ get(); void set(System::Windows::ResourceDictionary ^ value); };
public System.Windows.ResourceDictionary Resources { get; set; }
[System.Windows.Markup.Ambient]
public System.Windows.ResourceDictionary Resources { get; set; }
member this.Resources : System.Windows.ResourceDictionary with get, set
[<System.Windows.Markup.Ambient>]
member this.Resources : System.Windows.ResourceDictionary with get, set
Public Property Resources As ResourceDictionary

Tulajdonság értéke

Az aktuális helyileg definiált erőforrások. Ez az erőforrások szótára, ahol a szótárban lévő erőforrások kulcsokkal érhetők el.

Attribútumok

Példák

Az alábbi példa egy gyűjteményt hoz létre egy ResourcesFlowDocument gyökérelemen. FlowDocument ez egy tipikus választás, mert ez egyike azon kevés FrameworkContentElement osztályoknak, amelyek gyökérelemként értelmezhetők, és az erőforrásokat általában az oldal gyökerében vagy még magasabb szinteken tárolják, például az alkalmazásban.

<FlowDocument
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  x:Class=" SDKSample.Page2">
  <FlowDocument.Resources>
    <Style TargetType="{x:Type Paragraph}" x:Key="BluePara">
      <Setter Property="Background" Value="Blue"/>
      <Setter Property="FontSize" Value="18"/>
      <Setter Property="Foreground" Value="LightBlue"/>
      <Setter Property="FontFamily" Value="Trebuchet MS"/>
    </Style>
  </FlowDocument.Resources>
  <Paragraph Style="{StaticResource BluePara}">Lorem ipsum etc.</Paragraph>
</FlowDocument>

Megjegyzések

Az extensible Application Markup Language (XAML) nyelvben teljesen vagy részben definiálható erőforrás-szótárak jellemzően tulajdonságelemként jönnek létre, és általában minden egyes oldal vagy alkalmazás gyökérelemén találhatók. Az erőforrásszótár ezen a szinten való elhelyezése megkönnyíti a lap egyes gyermekelemeinek megkeresését (vagy bármely oldalról, az alkalmazás esetében). A legtöbb alkalmazásforgatókönyvben azt javasoljuk, hogy a stílusokat objektumelemként definiálják egy erőforrás-szótárban, vagy definiálják külső erőforrásként, hogy a teljes stíluserőforrás önálló legyen (ez a módszer segít elkülöníteni a tervezői felelősségeket a fejlesztői feladatoktól a szerkeszteni kívánt fizikai fájlok elkülönítésével).

Vegye figyelembe, hogy ez a tulajdonság csak az adott elemen belül deklarált erőforrás-szótárt adja vissza. Ez eltér a tényleges erőforrás-keresési folyamattól, ahol a gyermekelem az egyes szülőelemekben definiált erőforrások bármelyikéhez hozzáfér, és rekurzívan felfelé keres.

Az erőforrásokra kóddal is hivatkozhat a gyűjteményen belül, de vegye figyelembe, hogy az XAML-ben létrehozott erőforrások biztosan nem lesznek elérhetők, amíg Loaded a szótárt deklaráló elem nem emeli ki. Az erőforrások aszinkron módon vannak elemezve, és még az Loaded esemény sem garancia arra, hogy XAML-ben definiált erőforrásra hivatkozhat. Ezért általában csak az XAML által definiált erőforrásokhoz kell hozzáférnie a futásidejű kód részeként, vagy más XAML-technikákon keresztül, például az attribútumértékek stílusai vagy erőforráskiterjesztési hivatkozásai révén. Ha kódon keresztül fér hozzá az erőforrásokhoz, az lényegében egyenértékű az XAML-ből készített DynamicResource-hivatkozással .

Az alapul szolgáló ResourceDictionary metódusok támogatják az erőforrások gyűjteményen belüli hozzáadásához, eltávolításához vagy lekérdezéséhez szükséges metódusokat kód használatával. A Resources tulajdonság úgy van beállítva, hogy támogassa azt a forgatókönyvet, amely szerint egy elem erőforrásgyűjteményét teljesen lecseréli egy újra vagy másra ResourceDictionary.

Figyelje meg, hogy a megjelenő XAML-szintaxis nem tartalmaz elemet a ResourceDictionary. Ez egy példa implicit gyűjteményszintaxisra; a gyűjteményelemet jelképező címke elhagyható. Ehelyett a gyűjtemény elemként hozzáadott elemei vannak megadva. Az implicit gyűjteményekről és az XAML-ről további információt az XAML Szintaxis részletei című témakörben talál. Az egyik eset, amikor egy ResourceDictionary elemként még explicit módon van megadva, ha egyesített szótárat vezet be, ebben az esetben általában nincsenek gyermekelemek ehhez ResourceDictionary. További részletekért lásd: Egyesített erőforrás-szótárak.

XAML tulajdonságelem-használat

<object>
  <object.Resources>
    oneOrMoreResourceElements
  </object.Resources>
</object>

XAML-értékek

oneOrMoreResourceElements Egy vagy több objektumelem, amelyek mindegyike meghatároz egy erőforrást. Minden egyes erőforrástulajdonság-elemnek ResourceDictionary egyedi értékkel kell rendelkeznie az x:Key Direktívához, amely egyedi kulcsként szolgál, amikor az értékeket lekéri a rendszer a ResourceDictionary.

A következőre érvényes:

Lásd még