Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ez a példa bemutatja, hogyan definiálhat és használhat alkalmazáshatókörű egyéni erőforrásszótárat.
példa
Application elérhetővé tesz egy alkalmazáshatókör-tárolót a megosztott erőforrásokhoz: Resources. Alapértelmezés szerint a Resources tulajdonság inicializálva van egy ResourceDictionary típusú példánnyal. Ezt a példányt akkor használja, amikor az alkalmazási hatókör tulajdonságait lekéri és beállítja a Resourceshasználatával. További információért tekintse meg: Útmutató: Application-Scope erőforrásbeolvasása és beállítása.
Több erőforrás esetén, amelyeket a Resources-val állított be, használhat helyette egy egyéni erőforrás-szótárt ezek tárolására, és ezzel állíthatja be a Resources-et. Az alábbiakban bemutatjuk, hogyan deklarálhat egyéni erőforrás-szótárat az XAML használatával.
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" >
<SolidColorBrush x:Key="StandardSolidColorBrush" Color="Blue" />
<LinearGradientBrush x:Key="StandardLinearGradientBrush" StartPoint="0.0,0.0" EndPoint="1.0,1.0">
<LinearGradientBrush.GradientStops>
<GradientStop Color="White" Offset="0" />
<GradientStop Color="Black" Offset="1" />
</LinearGradientBrush.GradientStops>
</LinearGradientBrush>
</ResourceDictionary>
A teljes erőforrás-szótárak Resources használatával való felcserélésével támogathatja az alkalmazás hatókörű témákat, ahol az egyes témákat egyetlen erőforrás-szótár foglalja össze. Az alábbi példa bemutatja, hogyan állíthatja be a ResourceDictionary.
<!--Set the Application ResourceDictionary-->
<Application.Resources>
<ResourceDictionary Source="MyResourceDictionary.xaml" />
</Application.Resources>
Az alábbiakban azt mutatjuk be, hogyan szerezhet be alkalmazáshatókörű erőforrásokat az XAML-ben Resources által közzétett erőforrás-szótárból.
<!--Set the brush as a StaticResource from the ResourceDictionary-->
<Rectangle Name="Rect" Height="200" Width="100" Fill="{StaticResource ResourceKey=StandardSolidColorBrush}" />
Az alábbiakban azt mutatjuk be, hogyan szerezheti be az erőforrásokat a kódban.
//Get a resource from the ResourceDictionary in code
Brush gradientBrush = (Brush)Application.Current.FindResource("StandardLinearGradientBrush");
'Get a resource from the ResourceDictionary in code
Dim GradientBrush As Brush = Application.Current.FindResource("StandardLinearGradientBrush")
A Resourceshasználatakor két szempontot kell figyelembe venni. Először is, a szótár kulcs egy objektum, ezért pontosan ugyanazt az objektumpéldányt kell használnia, amikor tulajdonságértéket állít be vagy lekérdez. (Vegye figyelembe, hogy a kulcs sztring használata esetén a kis- és nagybetűk megkülönböztetik.) Másodszor, a szótár érték objektum, ezért a tulajdonságérték lekérésekor az értéket a kívánt típusra kell konvertálnia.
Egyes erőforrástípusok automatikusan használhatnak egy, a típus által meghatározott tulajdonságot explicit kulcsként, például a Style és DataTemplate típusokként. Ez felülírhatja a x:Key értékét. A x:Key kulcs tiszteletben tartásának biztosításához deklarálja azt a explicit kulcstulajdonság előtt. További információért lásd: Stílusok, DataTemplates és implicit kulcsok.
Lásd még
- ResourceDictionary
- Resources
- XAML-erőforrások
- egyesített erőforrás-szótárak
.NET Desktop feedback