Application.Resources Application.Resources Application.Resources Application.Resources Property

Definition

Ruft eine Auflistung von Ressourcen für den Anwendungsbereich fest, z. B. Formate und Pinsel, oder legt diese fest.Gets or sets a collection of application-scope resources, such as styles and brushes.

public:
 property System::Windows::ResourceDictionary ^ Resources { System::Windows::ResourceDictionary ^ get(); void set(System::Windows::ResourceDictionary ^ value); };
[System.Windows.Markup.Ambient]
public System.Windows.ResourceDictionary Resources { get; set; }
member this.Resources : System.Windows.ResourceDictionary with get, set
Public Property Resources As ResourceDictionary

Eigenschaftswert

Ein ResourceDictionary-Objekt, das 0 (null) oder mehr Ressourcen für den Anwendungsbereich enthält.A ResourceDictionary object that contains zero or more application-scope resources.

Beispiele

In diesem Beispiel wird veranschaulicht, wie XAML zusammen mit Anwendungsbereich Ressourcen verwenden, um ein einheitliches Erscheinungsbild zu erstellen.This example illustrates how to use XAML together with application-scope resources to create a consistent visual appearance. Das erste Beispiel stammt aus "App.xaml"; das zweite, aus "MainWindow.xaml".The first example is from App.xaml; the second, from 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 eine Anwendungsressource in Code und XAML festgelegt (in der Datei "App.xaml" in einem C# WPF-Projekt oder die "Application.xaml"-Datei in einem Visual Basic-WPF-Projekt).The following example shows how to set an application resource in code and XAML (in the App.xaml file in a C# WPF project or the Application.xaml file in a Visual Basic WPF project).

// 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.The following example shows how to get an application resource in code.

// 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 zum Freigeben von Ressourcen über virtuelle Windows- und die Elemente einer Anwendung verwendet werden.The Resources property can be used to share resources across the windows and elements of an application. Darüber hinaus die Resources Eigenschaft befindet sich in den Ressourcenpfad für die Suche, der in der folgenden Reihenfolge durchlaufen wird:Additionally, the Resources property is included in the resource lookup path, which is traversed in the following order:

  1. ElementsElements

  2. WindowsWindows

  3. Application.Resources

  4. SystemSystem

Folglich Benutzeroberfläche (User Interface, UI)user interface (UI) Elemente können auf Ressourcen der Anwendungsbereich zu binden.Consequently, Benutzeroberfläche (User Interface, UI)user interface (UI) elements can bind to application-scope resources. Darüber hinaus Ressourcen zu ändern, gewährleistet das Ressourcensystem dieses Element Eigenschaften, die an diese Ressourcen gebunden sind, werden automatisch aktualisiert, um die Änderung zu übernehmen.Additionally, if resources change, the resource system ensures that element properties which are bound to those resources are automatically updated to reflect the change.

Anwendungsbereich Ressourcen bieten eine einfache Möglichkeit, ein einheitliches Design in Ihrer Anwendung zu unterstützen.Application-scope resources provide a simple way to support a consistent theme across your application. Sie können ganz einfach erstellen Sie ein Design in XAMLXAML mithilfe der Application.Resources Tag.You can easily create a theme in XAMLXAML by using the Application.Resources tag. Aber wenn Ihre Anwendung mehrere Designs, die eine große Anzahl von Designelemente enthalten kann unterstützt, kann es einfacher sein Verwaltung über eine ResourceDictionary Instanz für jedes Design.However, if your application supports multiple themes, which may contain a large number of theme elements, it might be easier to manage them using one ResourceDictionary instance for each theme. Auf diese Weise kann ein neues Design angewendet werden durch Festlegen der Resources-Eigenschaft an die entsprechende ResourceDictionary.In this way, a new theme can be applied by setting the Resources property to the appropriate ResourceDictionary.

Es gibt zwei Überlegungen, die bei der Verwendung Resources.There are two considerations to make when using Resources. Zuerst wird das Wörterbuch Schlüssel ist ein Objekt, aus, damit Sie genau die gleiche Objektinstanz beim Festlegen und Abrufen eines Eigenschaftswerts (Beachten Sie, dass der Schlüssel Groß-und Kleinschreibung beachtet, wenn Sie eine Zeichenfolge zu verwenden) verwenden müssen.First, the dictionary key is an object, so you need to use exactly the same object instance when both setting and getting a property value (note that the key is case-sensitive when using a string). Anderen ist der Wert ist ein Objekt, aus, daher müssen Sie den Wert in den gewünschten Typ zu konvertieren, wenn einen Eigenschaftswert abgerufen werden.Second, the dictionary value is an object, so you will need to convert the value to the desired type when getting a property value.

Resources Thread-sicher ist und von jedem Thread verfügbar ist.Resources is thread safe and is available from any thread.

Gilt für: