Freigeben über


FrameworkContentElement.Resources Eigenschaft

Definition

Dient zum Abrufen oder Festlegen des aktuellen lokal definierten Ressourcenwörterbuchs.

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. Hierbei handelt es sich um ein Verzeichnis von Ressourcen, in dem von Schlüsseln auf Ressourcen innerhalb des Wörterbuchs 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 in der Regel 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 vollständig oder teilweise in Extensible Application Markup Language (XAML) definiert werden können, werden normalerweise als Eigenschaftselement erstellt und befinden sich in der Regel im Stammelement für jede einzelne Seite oder für die Anwendung. Das Platzieren des Ressourcenwörterbuchs auf dieser Ebene erleichtert das Auffinden einzelner untergeordneter Elemente auf der Seite (oder von einer beliebigen Seite im Anwendungsfall). In den meisten Anwendungsszenarien wird empfohlen, Formatvorlagen als Objektelemente innerhalb eines Ressourcenwörterbuchs zu definieren oder als externe Ressourcen zu definieren, damit die gesamte Stilressource eigenständig sein kann (dieser Ansatz trägt dazu bei, designerverantwortliche Verantwortlichkeiten von Entwickleraufgaben zu trennen, indem die physischen Dateien getrennt werden, die bearbeitet werden müssen).

Beachten Sie, dass diese Eigenschaft nur das Ressourcenwörterbuch zurückgibt, das direkt innerhalb dieses Elements deklariert ist. Dies unterscheidet sich von dem 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 durchsucht werden.

Ressourcen können auch anhand von Code aus der Auflistung referenziert werden. Beachten Sie jedoch, dass ressourcen, die in XAML erstellt wurden, erst nach dem Auslösen durch das Element verfügbar sind Loaded , das das Wörterbuch deklariert. Tatsächlich werden Ressourcen asynchron analysiert, und nicht einmal das Loaded Ereignis ist eine Zusicherung, dass Sie auf eine XAML-definierte Ressource verweisen können. Aus diesem Grund sollten Sie im Allgemeinen nur auf XAML-definierte Ressourcen als Teil des Laufzeitcodes oder über andere XAML-Techniken wie Stile oder Ressourcenerweiterungsverweise für Attributwerte zugreifen. Wenn Sie über Code auf Ressourcen zugreifen, entspricht sie im Wesentlichen einem DynamicResource-Verweis aus XAML.

Die zugrunde liegende ResourceDictionary Methode unterstützt die Methoden, die zum Hinzufügen, Entfernen oder Abfragen von Ressourcen innerhalb der Auflistung mithilfe von Code erforderlich sind. Die Resources Eigenschaft ist festgelegt, um das Szenario zu unterstützen, die Ressourcenauflistung eines Elements vollständig zu ersetzen, um ein neues oder anderes ResourceDictionaryzu sein.

Beachten Sie, dass die angezeigte XAML-Syntax kein Element für die ResourceDictionary. Dies ist ein Beispiel für implizite Sammlungssyntax; ein Tag, das das Auflistungselement darstellt, kann weggelassen werden. Die Elemente, die der Auflistung als Elemente hinzugefügt werden, werden stattdessen angegeben. Weitere Informationen zu impliziten Auflistungen und XAML finden Sie unter XAML-Syntax im Detail. Ein Fall, in dem ein ResourceDictionary Element 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 dafür ResourceDictionary. Ausführliche Informationen finden Sie unter "Zusammengeführte Ressourcenwörterbücher".

XAML-Eigenschaftselementverwendung

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

XAML-Werte

oneOrMoreResourceElements Ein oder mehrere Objektelemente, von denen jede eine Ressource definiert. Jedes Ressourceneigenschaftselement innerhalb jedes ResourceDictionary Elements muss einen eindeutigen Wert für die x:Key-Direktive aufweisen, der als eindeutiger Schlüssel dient, wenn Werte aus der ResourceDictionaryZeichenfolge abgerufen werden.

Gilt für:

Weitere Informationen