Application.Resources Vlastnost

Definice

Získá nebo nastaví kolekci prostředků rozsahu aplikace, jako jsou styly a štětce.

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

Hodnota vlastnosti

ResourceDictionary

Objekt ResourceDictionary , který obsahuje nula nebo více prostředků oboru aplikace.

Atributy

Příklady

Tento příklad ukazuje, jak použít XAML společně s prostředky oboru aplikace k vytvoření konzistentního vizuálního vzhledu. První příklad je z App.xaml; druhé, z 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>

Následující příklad ukazuje, jak nastavit prostředek aplikace v kódu a XAML (v souboru App.xaml v projektu WPF jazyka C# nebo souboru Application.xaml v projektu 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>

Následující příklad ukazuje, jak získat prostředek aplikace v kódu.

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

Poznámky

Vlastnost Resources lze použít ke sdílení prostředků napříč okny a prvky aplikace. Kromě toho Resources je vlastnost zahrnuta do vyhledávací cesty prostředku, která se prochází v následujícím pořadí:

  1. Elementy

  2. Windows

  3. Application.Resources

  4. Systém

Prvky uživatelského rozhraní (UI) se proto můžou svázat s prostředky oboru aplikace. Kromě toho, pokud se prostředky změní, systém prostředků zajistí, že vlastnosti elementu, které jsou vázány na tyto prostředky, se automaticky aktualizují tak, aby odrážely změnu.

Prostředky v oboru aplikace poskytují jednoduchý způsob, jak podporovat konzistentní motiv napříč vaší aplikací. Motiv můžete snadno vytvořit v XAML pomocí značky Application.Resources . Pokud ale vaše aplikace podporuje více motivů, které můžou obsahovat velký počet prvků motivu, může být jednodušší je spravovat pomocí jedné ResourceDictionary instance pro každý motiv. Tímto způsobem lze nový motiv použít nastavením vlastnosti Resources na odpovídající ResourceDictionary.

Při použití Resourcesje potřeba vzít v úvahu dva aspekty . Nejprve je klíč slovníku objekt, takže při nastavování a získávání hodnoty vlastnosti musíte použít přesně stejnou instanci objektu (všimněte si, že klíč rozlišuje malá a velká písmena při použití řetězce). Za druhé, slovník hodnota je objekt, takže budete muset převést hodnotu na požadovaný typ při získání hodnoty vlastnosti.

Resources je bezpečné vlákno a je k dispozici z libovolného vlákna.

Platí pro