Sdílet prostřednictvím


Application.Resources Vlastnost

Definice

Získá nebo nastaví kolekci prostředků oboru 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, který obsahuje nula nebo více prostředků oboru aplikace.

Atributy

Příklady

Tento příklad ukazuje, jak používat 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 WPF jazyka 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>

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

  2. Windows

  3. Application.Resources

  4. Systém

Prvky uživatelského rozhraní (UI) se proto můžou svázat s prostředky v 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 v celé aplikaci. Motiv v JAZYCE XAML můžete snadno vytvořit 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ání hodnoty vlastnosti je potřeba použít přesně stejnou instanci objektu (všimněte si, že klíč při použití řetězce rozlišují malá a velká písmena). Za druhé, hodnota slovníku 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