Application.Resources Eigenschaft

Definition

Ruft eine Auflistung von Ressourcen für den Anwendungsbereich fest, z. B. Formate und Pinsel, oder legt diese fest.

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

ResourceDictionary

Ein ResourceDictionary-Objekt, das 0 (null) oder mehr Ressourcen für den Anwendungsbereich enthält.

Attribute

Beispiele

In diesem Beispiel wird veranschaulicht, wie SIE XAML zusammen mit Anwendungsbereichsressourcen verwenden, um eine konsistente visuelle Darstellung zu erstellen. Das erste Beispiel stammt aus App.xaml; zweitens 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 festlegen (in der Datei "App.xaml" in einem C#-WPF-Projekt oder der Datei "Application.xaml" in einem Visual Basic WPF-Projekt).

// 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 Ressourcensuchepfad enthalten, der in der folgenden Reihenfolge durchlaufen wird:

  1. Elemente

  2. Windows

  3. Application.Resources

  4. System

Folglich können Benutzeroberflächenelemente (UI)-Elemente an Anwendungsbereichsressourcen 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. Sie können ein Design in XAML ganz einfach mithilfe des Application.Resources Tags 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 festgelegt ResourceDictionarywird.

Bei der Verwendung von Resources müssen Sie zwei Punkte beachten. 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 in den gewünschten Typ konvertieren, wenn ein Eigenschaftswert abgerufen wird.

Resources ist threadsicher und ist von jedem Thread verfügbar.

Gilt für