Bagikan melalui


Application.Resources Properti

Definisi

Mendapatkan atau mengatur kumpulan sumber daya cakupan aplikasi, seperti gaya dan kuas.

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

Nilai Properti

Objek ResourceDictionary yang berisi nol atau lebih sumber daya cakupan aplikasi.

Atribut

Contoh

Contoh ini menggambarkan cara menggunakan XAML bersama dengan sumber daya cakupan aplikasi untuk membuat tampilan visual yang konsisten. Contoh pertama adalah dari App.xaml; yang kedua, dari 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>

Contoh berikut menunjukkan cara mengatur sumber daya aplikasi dalam kode dan XAML (dalam file App.xaml dalam proyek C# WPF atau file Application.xaml dalam proyek Visual Basic WPF).

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

Contoh berikut menunjukkan cara mendapatkan sumber daya aplikasi dalam kode.

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

Keterangan

Properti Resources dapat digunakan untuk berbagi sumber daya di seluruh jendela dan elemen aplikasi. Selain itu, Resources properti disertakan dalam jalur pencarian sumber daya, yang dilalui dalam urutan berikut:

  1. Elemen

  2. Windows

  3. Application.Resources

  4. Sistem

Akibatnya, elemen antarmuka pengguna (UI) dapat mengikat ke sumber daya cakupan aplikasi. Selain itu, jika sumber daya berubah, sistem sumber daya memastikan bahwa properti elemen yang terikat ke sumber daya tersebut secara otomatis diperbarui untuk mencerminkan perubahan.

Sumber daya cakupan aplikasi menyediakan cara sederhana untuk mendukung tema yang konsisten di seluruh aplikasi Anda. Anda dapat dengan mudah membuat tema di XAML dengan menggunakan Application.Resources tag . Namun, jika aplikasi Anda mendukung beberapa tema, yang mungkin berisi sejumlah besar elemen tema, mungkin lebih mudah untuk mengelolanya menggunakan satu ResourceDictionary instans untuk setiap tema. Dengan cara ini, tema baru dapat diterapkan dengan mengatur properti Sumber Daya ke yang sesuai ResourceDictionary.

Ada dua pertimbangan yang harus dibuat saat menggunakan Resources. Pertama, kunci kamus adalah objek, jadi Anda perlu menggunakan instans objek yang sama persis saat mengatur dan mendapatkan nilai properti (perhatikan bahwa kunci peka huruf besar/kecil saat menggunakan string). Kedua, nilai kamus adalah objek, jadi Anda harus mengonversi nilai ke jenis yang diinginkan saat mendapatkan nilai properti.

Resources aman utas dan tersedia dari utas apa pun.

Berlaku untuk