Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Beispiel wird gezeigt, wie Sie ein benutzerdefiniertes Ressourcenverzeichnis mit Anwendungsbereich definieren und verwenden.
Beispiel
Application macht einen Anwendungsbereichsspeicher für freigegebene Ressourcen verfügbar: Resources. Standardmäßig wird die Resources Eigenschaft mit einer Instanz des ResourceDictionary Typs initialisiert. Sie verwenden diese Instanz, wenn Sie Eigenschaften mit Anwendungsbereich mithilfe von Resources abrufen und festlegen. Weitere Informationen finden Sie unter Anleitung: Empfangen und Setzen einer Application-Scope-Ressource .
Wenn Sie mehrere Ressourcen mit Resources verwenden, können Sie stattdessen ein benutzerdefiniertes Ressourcenwörterbuch verwenden, um diese Ressourcen zu speichern und Resources damit festzulegen. Im Folgenden wird gezeigt, wie Sie ein benutzerdefiniertes Ressourcenwörterbuch mit XAML deklarieren.
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://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>
Durch das Austauschen ganzer Ressourcenwörterbücher zusammen mit Resources können Sie Anwendungsbereich-Themen unterstützen, wobei jedes Thema von einem einzelnen Ressourcenwörterbuch gekapselt ist. Das folgende Beispiel zeigt, wie die ResourceDictionary eingerichtet wird.
<!--Set the Application ResourceDictionary-->
<Application.Resources>
<ResourceDictionary Source="MyResourceDictionary.xaml" />
</Application.Resources>
Im Folgenden wird gezeigt, wie Sie Anwendungsbereichsressourcen aus dem Ressourcenwörterbuch abrufen können, das in XAML verfügbar gemacht wird Resources .
<!--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 im Code abrufen können.
//Get a resource from the ResourceDictionary in code
Brush gradientBrush = (Brush)Application.Current.FindResource("StandardLinearGradientBrush");
'Get a resource from the ResourceDictionary in code
Dim GradientBrush As Brush = Application.Current.FindResource("StandardLinearGradientBrush")
Es gibt zwei Überlegungen, die bei der Verwendung von Resources zu treffen sind. Zunächst ist der Wörterbuchschlüssel ein Objekt, daher müssen Sie beim Festlegen und Abrufen eines Eigenschaftswerts genau dieselbe Objektinstanz verwenden. (Beachten Sie, dass bei Verwendung einer Zeichenfolge die Groß-/Kleinschreibung beachtet wird.) Zweitens ist der Wörterbuchwert ein Objekt, sodass Sie den Wert beim Abrufen eines Eigenschaftswerts in den gewünschten Typ konvertieren müssen.
Einige Ressourcenarten verwenden möglicherweise automatisch eine Eigenschaft, die vom Typ als expliziter Schlüssel definiert wird, z. B. die Typen Style und DataTemplate. Dies kann Ihren x:Key
Wert außer Kraft setzen. Um sicherzustellen, dass Ihr x:Key
Schlüssel beachtet wird, deklarieren Sie ihn vor der expliziten Schlüsseleigenschaft. Weitere Informationen finden Sie unter Stile, DataTemplates und implizite Schlüssel.
Siehe auch
.NET Desktop feedback