Application.Resources Właściwość

Definicja

Pobiera lub ustawia kolekcję zasobów zakresu aplikacji, takich jak style i pędzle.

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

Wartość właściwości

ResourceDictionary

ResourceDictionary Obiekt, który zawiera zero lub więcej zasobów zakresu aplikacji.

Atrybuty

Przykłady

W tym przykładzie pokazano, jak używać języka XAML razem z zasobami zakresu aplikacji w celu utworzenia spójnego wyglądu wizualizacji. Pierwszy przykład pochodzi z pliku App.xaml; drugie z pliku 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>

Poniższy przykład pokazuje, jak ustawić zasób aplikacji w kodzie i XAML (w pliku App.xaml w projekcie WPF języka C# lub pliku Application.xaml w projekcie WPF Visual Basic).

// 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>

W poniższym przykładzie pokazano, jak uzyskać zasób aplikacji w kodzie.

// 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)

Uwagi

Właściwość Resources może służyć do udostępniania zasobów w oknach i elementach aplikacji. Resources Ponadto właściwość jest uwzględniona w ścieżce wyszukiwania zasobów, która jest przechodzina w następującej kolejności:

  1. Elementy

  2. Windows

  3. Application.Resources

  4. System

W związku z tym elementy interfejsu użytkownika mogą być powiązane z zasobami zakresu aplikacji. Ponadto w przypadku zmiany zasobów system zasobów zapewnia, że właściwości elementu powiązane z tymi zasobami są automatycznie aktualizowane w celu odzwierciedlenia zmiany.

Zasoby zakresu aplikacji zapewniają prosty sposób obsługi spójnego motywu w aplikacji. Motyw w języku XAML można łatwo utworzyć przy użyciu tagu Application.Resources . Jeśli jednak aplikacja obsługuje wiele motywów, które mogą zawierać dużą liczbę elementów motywu, łatwiej będzie zarządzać nimi przy użyciu jednego ResourceDictionary wystąpienia dla każdego motywu. W ten sposób można zastosować nowy motyw, ustawiając właściwość Resources na odpowiednią ResourceDictionarywłaściwość .

Podczas korzystania z programu Resourcesnależy wziąć pod uwagę dwie kwestie. Najpierw klucz słownika jest obiektem, więc należy użyć dokładnie tego samego wystąpienia obiektu podczas ustawiania i pobierania wartości właściwości (należy pamiętać, że klucz jest uwzględniany przy użyciu ciągu). Po drugie wartość słownika jest obiektem, więc podczas pobierania wartości właściwości należy przekonwertować wartość na żądany typ.

Resources jest bezpieczny wątkiem i jest dostępny z dowolnego wątku.

Dotyczy