Application.Resources Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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í:
Elements
Windows
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.