Freigeben über


Gewusst wie: Verwenden eines Ressourcenwörterbuchs für den Anwendungsbereich

In diesem Beispiel wird gezeigt, wie ein benutzerdefiniertes Ressourcenwörterbuch für den Anwendungsbereich definiert und verwendet wird.

Beispiel

Application macht einen Anwendungsbereichspeicher für freigegebene Ressourcen verfügbar: Resources. In der Standardeinstellung wird die Resources-Eigenschaft mit einer Instanz des ResourceDictionary-Typs initialisiert. Sie verwenden diese Instanz, wenn Sie Eigenschaften für den Anwendungsbereich mit Resources abrufen und festlegen. (Weitere Informationen finden Sie unter Gewusst wie: Abrufen und Festlegen von Ressourcen für den Anwendungsbereich.)

Wenn Sie mehrere Ressourcen mit Resources festlegen, können Sie diese auch in einem benutzerdefinierten Ressourcenwörterbuch speichern und Resources damit festlegen. Im Folgenden wird gezeigt, wie Sie mit XAML ein benutzerdefiniertes Ressourcenwörterbuch deklarieren.

<ResourceDictionary 
    xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml" >
    <SolidColorBrush x:Key="StandardSolidColorBrush" Color="Blue" />
    <LinearGradientBrush x:Key="StandardLinearGradientBrush" StartPoint="0.0,0.0" EndPoint="1.0,1.0">
        <LinearGradientBrush.GradientStops>
            <GradientStop Color="White" Offset="0" />
            <GradientStop Color="Black" Offset="1" />
        </LinearGradientBrush.GradientStops>
    </LinearGradientBrush>
</ResourceDictionary>

Die Möglichkeit des Austauschs kompletter Ressourcenwörterbücher mithilfe von Resources erlaubt gleichzeitig die Verwendung von Designs für Anwendungsbereiche, die jeweils von einem einzigen Ressourcenwörterbuch gekapselt sind Im folgenden Beispiel wird das Festlegen der ResourceDictionary veranschaulicht.

<!--Set the Application ResourceDictionary-->
<Application.Resources>
    <ResourceDictionary Source="MyResourceDictionary.xaml" />
</Application.Resources>

Im Folgenden wird gezeigt, wie Sie Ressourcen für den Anwendungsbereich aus dem Ressourcenwörterbuch abrufen können, das von Resources in XAML bereitgestellt wird.

<!--Set the brush as a StaticResource from the ResourceDictionary-->
<Rectangle Name="Rect" Height="200" Width="100" Fill="{StaticResource ResourceKey=StandardSolidColorBrush}" />

Im Folgenden wird gezeigt, wie Sie die Ressourcen auch in Code abrufen können.

'Get a resource from the ResourceDictionary in code
Dim GradientBrush As Brush = Application.Current.FindResource("StandardLinearGradientBrush")
//Get a resource from the ResourceDictionary in code
Brush gradientBrush = (Brush)Application.Current.FindResource("StandardLinearGradientBrush");

Bei der Verwendung von Resources müssen Sie zwei Punkte beachten. Der Wörterbuch-Schlüssel ist ein Objekt, deshalb müssen Sie genau dieselbe Objektinstanz verwenden, wenn Sie einen Eigenschaftswert festlegen und abrufen. (Beachten Sie, dass beim Verwenden einer Zeichenfolge beim Schlüssel die Groß-/Kleinschreibung beachtet wird.) Zum anderen ist der Wörterbuch-Wert ein Objekt. Daher müssen Sie den Wert beim Abrufen eines Eigenschaftswerts in den gewünschten Typ konvertieren.

Siehe auch

Referenz

ResourceDictionary

Resources

Konzepte

Übersicht über Ressourcen

Zusammengeführte Ressourcenwörterbücher