FrameworkContentElement.Resources Eigenschaft

Definition

Ruft das aktuelle lokal definierte Ressourcenwörterbuch ab oder legt es fest.

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

Eigenschaftswert

Die aktuellen lokal definierten Ressourcen. Dies ist ein Wörterbuch von Ressourcen, wobei auf Ressourcen innerhalb des Wörterbuchs über Schlüssel zugegriffen wird.

Attribute

Beispiele

Im folgenden Beispiel wird eine Resources Auflistung für ein FlowDocument Stammelement eingerichtet. FlowDocument ist eine typische Wahl, da es sich um eine der wenigen FrameworkContentElement Klassen handelt, die als Stammelement sinnvoll sind, und Ressourcen werden im Allgemeinen im Seitenstamm oder auf noch höheren Ebenen wie in der Anwendung gespeichert.

<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>

Hinweise

Ressourcenwörterbücher, die in XAML (Extensible Application Markup Language) vollständig oder teilweise definiert werden können, werden in der Regel als Eigenschaftselement erstellt und befinden sich in der Regel im Stammelement für jede einzelne Seite oder für die Anwendung. Wenn Sie das Ressourcenwörterbuch auf dieser Ebene platzieren, ist es einfacher, einzelne untergeordnete Elemente auf der Seite (oder im Anwendungsfall von einer beliebigen Seite) zu finden. In den meisten Anwendungsszenarien wird empfohlen, Stile als Objektelemente innerhalb eines Ressourcenwörterbuchs zu definieren oder als externe Ressourcen zu definieren, damit die gesamte Stilressource eigenständig sein kann (dieser Ansatz hilft dabei, Designeraufgaben von Entwickleraufgaben zu trennen, indem die physischen Dateien getrennt werden, die bearbeitet werden müssen).

Beachten Sie, dass diese Eigenschaft nur das Ressourcenverzeichnis zurückgibt, das direkt in diesem Element deklariert wurde. Dies unterscheidet sich vom tatsächlichen Ressourcensucheprozess, bei dem ein untergeordnetes Element auf jede der ressourcen zugreifen kann, die in jedem übergeordneten Element definiert sind und rekursiv nach oben suchen.

Auf Ressourcen kann auch durch Code aus der Auflistung verwiesen werden. Beachten Sie jedoch, dass auf in XAML erstellte Ressourcen definitiv erst zugegriffen werden kann, nachdem Loaded das Element, das das Wörterbuch deklariert, ausgelöst wird. Tatsächlich werden Ressourcen asynchron analysiert, und nicht einmal das Loaded Ereignis ist eine Gewissheit, dass Sie auf eine XAML-definierte Ressource verweisen können. Aus diesem Grund sollten Sie im Allgemeinen nur auf XAML-definierte Ressourcen als Teil von Laufzeitcode oder über andere XAML-Techniken wie Stile oder Ressourcenerweiterungsverweise für Attributwerte zugreifen. Wenn Sie über Code auf Ressourcen zugreifen, entspricht dies im Wesentlichen einem DynamicResource-Verweis aus XAML.

Die zugrunde liegende ResourceDictionary unterstützt die Methoden, die zum Hinzufügen, Entfernen oder Abfragen von Ressourcen innerhalb der Auflistung mithilfe von Code erforderlich sind. Die Resources -Eigenschaft kann so festgelegt werden, dass sie das Szenario unterstützt, in dem die Ressourcenauflistung eines Elements vollständig durch eine neue oder eine andere ResourceDictionaryersetzt wird.

Beachten Sie, dass die gezeigte XAML-Syntax kein -Element für enthält ResourceDictionary. Dies ist ein Beispiel für implizite Sammlungssyntax. Ein Tag, das das Auflistungselement darstellt, kann weggelassen werden. Stattdessen werden die Elemente angegeben, die der Auflistung als Elemente hinzugefügt werden. Weitere Informationen zu impliziten Auflistungen und XAML finden Sie unter XAML-Syntax im Detail. Ein Fall, in dem immer ResourceDictionary noch explizit als Element angegeben wird, ist, wenn Sie ein zusammengeführtes Wörterbuch einführen. In diesem Fall gibt es in der Regel keine untergeordneten Elemente für dieses ResourceDictionary. Weitere Informationen finden Sie unter Zusammengeführte Ressourcenwörterbücher.

Verwendung von XAML-Eigenschaftenelementen

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

XAML-Werte

oneOrMoreResourceElements
Ein oder mehrere Objektelemente, von denen jedes eine Ressource definiert. Jedes Ressourceneigenschaftselement in jedem ResourceDictionary muss über einen eindeutigen Wert für die x:Key-Direktive verfügen, die als eindeutiger Schlüssel dient, wenn Werte aus dem ResourceDictionaryabgerufen werden.

Gilt für:

Weitere Informationen