Application.Resources Özellik

Tanım

Stiller ve fırçalar gibi uygulama kapsamı kaynaklarından oluşan bir koleksiyonu alır veya ayarlar.

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

Özellik Değeri

ResourceDictionary

ResourceDictionary Sıfır veya daha fazla uygulama kapsamı kaynağı içeren bir nesne.

Öznitelikler

Örnekler

Bu örnekte tutarlı bir görsel görünüm oluşturmak için XAML'nin uygulama kapsamı kaynaklarıyla birlikte nasıl kullanılacağı gösterilmektedir. İlk örnek App.xaml'dendir; mainWindow.xaml dosyasından ikinci.

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

Aşağıdaki örnekte kod ve XAML'de bir uygulama kaynağının nasıl ayarlanacağı gösterilmektedir (C# WPF projesindeki App.xaml dosyasında veya Visual Basic WPF projesindeki Application.xaml dosyasında).

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

Aşağıdaki örnekte kodda bir uygulama kaynağının nasıl alınacakları gösterilmektedir.

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

Açıklamalar

Resources özelliği, bir uygulamanın pencereleri ve öğeleri arasında kaynakları paylaşmak için kullanılabilir. Ayrıca, Resources özelliği kaynak arama yoluna eklenir ve bu yol aşağıdaki sırayla geçirilir:

  1. Öğeler

  2. Windows

  3. Application.Resources

  4. Sistem

Sonuç olarak, kullanıcı arabirimi (UI) öğeleri uygulama kapsamı kaynaklarına bağlanabilir. Ayrıca, kaynaklar değişirse, kaynak sistemi bu kaynaklara bağlı öğe özelliklerinin değişikliği yansıtacak şekilde otomatik olarak güncelleştirilmesini sağlar.

Uygulama kapsamı kaynakları, uygulamanız genelinde tutarlı bir temayı desteklemek için basit bir yol sağlar. Etiketini kullanarak Application.Resources XAML'de kolayca tema oluşturabilirsiniz. Ancak, uygulamanız çok sayıda tema öğesi içerebilen birden çok tema destekliyorsa, her tema için bir ResourceDictionary örnek kullanarak bunları yönetmek daha kolay olabilir. Bu şekilde, Resources özelliği uygun ResourceDictionaryolarak ayarlanarak yeni bir tema uygulanabilir.

kullanırken Resourcesdikkat edilmesi gereken iki nokta vardır. İlk olarak, sözlük anahtarı bir nesnedir, bu nedenle hem ayarlarken hem de özellik değeri alırken tam olarak aynı nesne örneğini kullanmanız gerekir (dize kullanırken anahtarın büyük/küçük harfe duyarlı olduğunu unutmayın). İkincisi, sözlük değeri bir nesnedir, bu nedenle bir özellik değeri alırken değeri istenen türe dönüştürmeniz gerekir.

Resources iş parçacığı güvenlidir ve herhangi bir iş parçacığından kullanılabilir.

Şunlara uygulanır