Application.Resources Properti

Definisi

Mendapatkan kumpulan sumber daya dalam cakupan aplikasi, seperti gaya, templat, dan kuas.

ResourceDictionary Resources();

void Resources(ResourceDictionary value);
public ResourceDictionary Resources { get; set; }
var resourceDictionary = application.resources;
application.resources = resourceDictionary;
Public Property Resources As ResourceDictionary
<Application>
  <Application.Resources>
    oneOrMoreResourceElements
  </Application.Resources>
</Application>
 

Nilai Properti

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

Contoh

Contoh ini menunjukkan cara mendeklarasikan sumber daya khusus aplikasi (yang ini membuat instans kelas konverter umum yang berasal dari templat awal). Kemudian menambahkan elemen properti Application.MergedDictionaries dengan elemen ResourceDictionary di dalamnya, masing-masing mereferensikan file XAML oleh URI sebagai Sumber.

<Application.Resources>
    <ResourceDictionary>
      <common:BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter"/> 
      <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary Source="rd1.xaml" />
        <ResourceDictionary Source="rd2.xaml" />
      </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
  </Application.Resources>

Keterangan

Model kamus sumber daya di Windows Runtime mendukung banyak konsep sumber daya XAML yang mungkin Anda kenal jika Anda telah membuat aplikasi menggunakan Windows Presentation Foundation (WPF) atau Microsoft Silverlight. Untuk informasi selengkapnya, lihat Referensi sumber daya ResourceDictionary dan XAML.

Sumber daya yang Anda tentukan di ResourceDictionary yang mengisi Application.Resources elemen properti tersedia untuk diambil dari halaman mana pun di aplikasi Anda. Ini menguntungkan jika banyak halaman aplikasi Anda semuanya menggunakan sumber daya yang sama. Misalnya, jika Anda memiliki sumber daya SolidColorBrush yang Anda gunakan untuk skema warna di UI aplikasi Anda, dan warna itu digunakan di sebagian besar halaman Anda, masuk akal untuk menyatakan bahwa SolidColorBrush digunakan Application.Resources untuk Application.Resources.

Saat Anda menambahkan sumber daya ke Application.Resources, tambahkan baik sebelum atau sesudah yang sudah ada ResourceDictionary.MergedResources. Aturan XAML tidak memungkinkan Anda untuk menempatkan konten di kedua sisi tag elemen properti. Untuk informasi selengkapnya, lihat panduan sintaks XAML.

Catatan untuk versi sebelumnya

Pengoptimalan pemuatan sumber daya di Windows 8.1

Dimulai dengan Windows 8.1, ada pengoptimalan pemuatan sumber daya yang diaktifkan oleh model aplikasi dan parser XAML Windows Runtime. Untuk Windows 8, parser XAML memuat sumber daya dari app.xaml dan membuat masing-masing sebagai objek sebagai bagian dari startup. Itu tidak terlalu efisien jika ada kamus besar di sana. Selain itu, sumber daya tersebut termasuk item yang diperlukan oleh ketiga tema, dan dua dari tiga tema bahkan tidak akan aktif. Dimulai dengan Windows 8.1, pengurai XAML hanya membuat sumber daya saat diminta secara khusus. Permintaan mungkin berasal dari sumber daya lain atau dari aplikasi atau halaman XAML saat masing-masing dimuat. Perilaku pengurai ini meminimalkan waktu yang diperlukan untuk membaca kamus tingkat aplikasi pada waktu mulai, dan memungkinkan halaman aplikasi pertama dimuat lebih cepat dalam banyak kasus. Sumber daya yang diperlukan oleh tema lain yang saat ini tidak aktif hanya dimuat jika tema tersebut dipilih untuk menjadi tema aktif oleh pengguna. Pada saat itu, sumber daya apa pun di mana ekstensi markup {ThemeResource} digunakan untuk permintaan dihitung ulang berdasarkan tema yang baru aktif.

perilaku Windows 8

Windows 8 tidak memiliki pengoptimalan yang dijelaskan di atas. ResourceDictionaryApplication.Resources untuk harus menyelesaikan penguraian sebelum halaman mana pun selain layar splash dapat dimuat ke Jendela aplikasi. Karena itu, Anda mungkin melihat beberapa perbedaan waktu saat anda menargetkan ulang aplikasi untuk Windows 8.1. Aplikasi harus dimuat lebih cepat, namun mungkin tidak mungkin untuk mengisolasi peningkatan ini versus perubahan lain yang telah Anda buat pada kode aplikasi Anda sebagai bagian dari penargetan ulang. Beberapa tempat di mana Anda mungkin melihat bukti perubahan waktu karena pemuatan sumber daya yang dioptimalkan termasuk ketika konstruktor dipanggil oleh pengurai, untuk objek seperti objek Aplikasi , konverter, atau kelas kustom lainnya. Aplikasi yang dikompilasi untuk Windows 8 tetapi berjalan di Windows 8.1 terus menggunakan perilaku Windows 8.

Untuk informasi selengkapnya tentang performa dan faktor sumber daya XAML, lihat Mengoptimalkan markup XAML Anda.

Berlaku untuk

Lihat juga