FrameworkElement.Resources Property

Ruft das lokal definierte Ressourcenwörterbuch ab. In XAML können Sie mit impliziter XAML-Auflistungssyntax Ressourcenelemente als untergeordnete Objektelemente eines frameworkElement.Resources-Eigenschaftenelements festlegen.

Syntax


public ResourceDictionary Resources { get; set; }


<frameworkElement>
  <frameworkElement.Resources>
    oneOrMoreResourceElements
  </frameworkElement.Resources>
</frameworkElement>

XAML Values

oneOrMoreResourceElements

Mindestens ein Objektelement, das jeweils eine Ressource erstellt und definiert. Jedes Ressourceneigenschaftselement in einem ResourceDictionary-Objekt muss über einen eindeutigen Schlüssel verfügen (i. d. R. x:Key, angegeben als Attribut mit einem Zeichenfolgenwert). Der Schlüssel wird verwendet, wenn Werte von ResourceDictionary entweder programmgesteuert oder mit einer -StaticResource--XAML-Verwendung abgerufen werden.

Eigenschaftswert

Typ: ResourceDictionary

Das lokal definierte Ressourcenwörterbuch, mit dessen Schlüssel auf jede Ressource zugegriffen werden kann.

Hinweise

Die Elemente in einer Resources-Auflistung dienen primär als Verweisziel für andere Teile der XAML, wobei ein StaticResource-Verweis verwendet wird. Um zur Laufzeit auf die Auflistung Resources zuzugreifen, können Sie die APIs der entsprechenden Vorlage verwenden, um Elemente im ResourceDictionary abzufragen, hinzuzufügen oder zu entfernen.

Weitere Informationen und Beispiele finden Sie unter ResourceDictionary- und XAML-Ressourcenverweise.

ResourceDictionary ist eine schlüsselgebundene Auflistung, die auf einer IMap<K,V>-Vorlage basiert, wenn Sie mit C++ programmieren, oder eine IDictionary<TKey,TValue>-Vorlage, wenn Sie mit C# oder Microsoft Visual Basic programmieren.

Application verfügt auch über eine Resources- Eigenschaft, mit der Ressourcen gespeichert werden können, die von mehreren Seiten in der App aus zugänglich sein sollten. Ressourcen für benutzereigene Steuerelemente können auch in einer separaten XAML-Datei gespeichert werden, die von der Standardprojektvorlage eines vorlagenbasierten Steuerelements erstellt wird.

Die Elemente, die Sie in einer XAML-Resources-Auflistung finden, stellen nicht unbedingt alle XAML-definierten Ressourcen dar, die zur Laufzeit verfügbar sind. Andere Ressourcen sind zur Laufzeit verfügbar, entsprechend dem Einfluss der MergedDictionaries-Eigenschaft auf ein ResourceDictionary. Der MergedDictionaries-Wert kann andere Wörterbücher, wie beispielsweise die vom System definierten Ressourcen oder wie Ressourcen aus den standardmäßigen XAML-Steuerelementvorlagen, einführen. Themenspezifische Ressourcen sind zur Laufzeit auch über die ähnliche Eigenschaft ThemeDictionaries verfügbar. Wenn Sie zur Laufzeit auf eine Resources-Auflistung zugreifen und mithilfe des Item-Indexers oder der Lookup-Methode einen bestimmten Schlüssel abfragen, können Sie diese Ressourcen öffnen und abrufen. Weitere Informationen finden Sie unter ResourceDictionary- und XAML-Ressourcenverweise.

Beispiele

Dieses Beispiel zeigt die XAML-Definition eines einfachen Resources-Wörterbuchs, das ein Element enthält, nämlich DataTemplate.


<Grid.Resources>
  <DataTemplate x:Key="CBTemplate">
    <Grid>
      <Grid.ColumnDefinitions>
        <ColumnDefinition />
        <ColumnDefinition />
      </Grid.ColumnDefinitions>
      <Image Grid.Column="0" Width="50" Height="50" 
        Source="{Binding Photo}" Stretch="Fill"/>
      <TextBlock Grid.Column="1" Text="{Binding Title}" 
        Margin="10" HorizontalAlignment="Left" FontSize="20"/>
    </Grid>
  </DataTemplate>
</Grid.Resources>


In diesem Beispiel wird ein typischer Codezugriff auf die Resources-Eigenschaft veranschaulicht. In diesem Beispiel sind die Resources-Eigenschaftenverweise inline, und auf sie folgt unmittelbar eine Indexerverwendung, die ein ResourceDictionary-Element mit dem Zeichenfolgenschlüssel RainbowBrush abruft. Beachten Sie die explizite Umwandlung. Der Rückgabewert für Elemente vom ResourceDictionary ist immer ein typloses Objekt.


    void SetBGByResource(object sender, RoutedEventArgs e)
    {
      Button b = sender as Button;
      b.Background = (Brush)this.Resources["RainbowBrush"];
    }


Anforderungen

Mindestens unterstützter Client

Windows 8

Mindestens unterstützter Server

Windows Server 2012

Namespace

Windows.UI.Xaml
Windows::UI::Xaml [C++]

Metadaten

Windows.winmd

Siehe auch

FrameworkElement
ResourceDictionary
x:Key
ResourceDictionary- und XAML-Ressourcenverweise
StaticResource
Anwendungsressourcen- und Lokalisierungsbeispiel
XAML-Übersicht

 

 

Anzeigen:
© 2014 Microsoft