Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo esempio illustra come definire e usare un dizionario risorse personalizzato con ambito applicazione.
Esempio
Application espone uno spazio di memorizzazione a livello dell'applicazione per le risorse condivise: Resources. Per impostazione predefinita, la proprietà Resources viene inizializzata con un'istanza del tipo di ResourceDictionary. Questa istanza viene usata quando si ottengono e si impostano le proprietà dell'ambito dell'applicazione usando Resources. Per altre informazioni, vedere Procedura: Ottenere e impostare una risorsa Application-Scope.
Se si dispone di più risorse impostate usando Resources, è invece possibile usare un dizionario risorse personalizzato per archiviare tali risorse e impostare Resources con esso. Di seguito viene illustrato come dichiarare un dizionario risorse personalizzato usando XAML.
<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>
Lo scambio di interi dizionari di risorse tramite Resources consente di supportare i temi dell'ambito applicazione, in cui ogni tema è incapsulato da un singolo dizionario risorse. Nell'esempio seguente viene illustrato come impostare il ResourceDictionary.
<!--Set the Application ResourceDictionary-->
<Application.Resources>
<ResourceDictionary Source="MyResourceDictionary.xaml" />
</Application.Resources>
Di seguito viene illustrato come ottenere risorse dell'ambito dell'applicazione dal dizionario risorse esposto da Resources in XAML.
<!--Set the brush as a StaticResource from the ResourceDictionary-->
<Rectangle Name="Rect" Height="200" Width="100" Fill="{StaticResource ResourceKey=StandardSolidColorBrush}" />
Di seguito viene illustrato come ottenere anche le risorse nel codice.
//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")
Quando si usa Resources, è necessario tenere presenti due considerazioni. In primo luogo, la chiave del dizionario
Alcuni tipi di risorse possono usare automaticamente una proprietà definita dal tipo come chiave esplicita, ad esempio i tipi Style e DataTemplate. Questo potrebbe sovrascrivere il valore x:Key
. Per garantire che la chiave x:Key
venga rispettata, è necessario dichiararla prima della proprietà della chiave esplicita. Per altre informazioni, vedere Stili , DataTemplate e chiavi implicite.
Vedere anche
- ResourceDictionary
- Resources
- risorse XAML
- Dizionari Risorse Combinati
.NET Desktop feedback