Application.Resources Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Dient zum Abrufen oder Festlegen einer Auflistung von Ressourcen im Anwendungsbereich, z. B. Stile und Pinsel.
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
Ein ResourceDictionary Objekt, das null oder mehr Anwendungsbereichsressourcen enthält.
- Attribute
Beispiele
In diesem Beispiel wird veranschaulicht, wie Sie XAML zusammen mit Ressourcen im Anwendungsbereich verwenden, um eine konsistente visuelle Darstellung zu erstellen. Das erste Beispiel stammt aus "App.xaml". die zweite aus "MainWindow.xaml".
<Application
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="MainWindow.xaml"
>
<Application.Resources>
<SolidColorBrush x:Key="BackgroundColor" Color="Yellow"></SolidColorBrush>
</Application.Resources>
</Application>
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="ApplicationResourcesSnippetSample_XAML"
Height="300"
Width="300"
Background="{StaticResource BackgroundColor}"
>
<Grid>
<!-- Additional XAML. -->
</Grid>
</Window>
Das folgende Beispiel zeigt, wie Sie eine Anwendungsressource in Code und XAML (in der Datei "App.xaml" in einem C#-WPF-Projekt oder in der Datei "Application.xaml" in einem Visual Basic-WPF-Projekt) festlegen.
// Set an application-scope resource
Application.Current.Resources["ApplicationScopeResource"] = Brushes.White;
' Set an application-scope resource
Application.Current.Resources("ApplicationScopeResource") = Brushes.White
<Application
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="SDKSample.App"
StartupUri="MainWindow.xaml"
Startup="App_Startup"
Exit="App_Exit">
<Application.Resources>
<SolidColorBrush x:Key="ApplicationScopeResource" Color="White"></SolidColorBrush>
</Application.Resources>
</Application>
Das folgende Beispiel zeigt, wie Sie eine Anwendungsressource im Code abrufen.
// Get an application-scope resource
Brush whiteBrush = (Brush)Application.Current.Resources["ApplicationScopeResource"];
' Get an application-scope resource
Dim whiteBrush As Brush = CType(Application.Current.Resources("ApplicationScopeResource"), Brush)
Hinweise
Die Resources Eigenschaft kann verwendet werden, um Ressourcen über die Fenster und Elemente einer Anwendung hinweg zu teilen. Darüber hinaus ist die Resources Eigenschaft im Ressourcensuchpfad enthalten, der in der folgenden Reihenfolge durchlaufen wird:
Elemente
Windows
System
Folglich können Ui-Elemente (User Interface) an Ressourcen im Anwendungsbereich gebunden werden. Wenn Ressourcen geändert werden, stellt das Ressourcensystem außerdem sicher, dass Elementeigenschaften, die an diese Ressourcen gebunden sind, automatisch aktualisiert werden, um die Änderung widerzuspiegeln.
Anwendungsbereichsressourcen bieten eine einfache Möglichkeit, ein einheitliches Design in Ihrer Anwendung zu unterstützen. Mit dem Application.Resources Tag können Sie ganz einfach ein Design in XAML erstellen. Wenn Ihre Anwendung jedoch mehrere Designs unterstützt, die möglicherweise eine große Anzahl von Designelementen enthalten, ist es möglicherweise einfacher, sie mithilfe einer ResourceDictionary Instanz für jedes Design zu verwalten. Auf diese Weise kann ein neues Design angewendet werden, indem die Resources-Eigenschaft auf die entsprechende ResourceDictionaryfestgelegt wird.
Es gibt zwei Überlegungen, die Bei der Verwendung Resourceszu 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, daher müssen Sie den Wert beim Abrufen eines Eigenschaftswerts in den gewünschten Typ konvertieren.
Resources ist threadsicher und steht in jedem Thread zur Verfügung.