In temi WPF sono semplicemente un insieme di file XAML ciascuno contenente un ResourceDictionary che detiene la stile e Template definizioni che si applicano ai controlli utilizzati nell'applicazione. Un file del tema potrebbe essere la seguente:
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:uc="clr-namespace:MyApp.UserControls">
<!-- Standard look for MyUserControl -->
<Style x:Key="Standard" TargetType="{x:Type uc:MyUserControl}">
<Setter Property="Width" Value="22" />
<Setter Property="Height" Value="10" />
</Style>
</ResourceDictionary>
supporto per i temi in un'applicazione WPF deve essere esplicitamente abilitata aggiungendo il seguente attributo al gruppo:
[assembly: ThemeInfo(
ResourceDictionary.None,
ResourceDictionaryLocation.SourceAssembly
)]
Questo indicherà WPF per cercare un file della risorsa incorporata denominato temi \ generic.xaml per determinare l'aspetto predefinito dei controlli dell'applicazione.
notare che quando il dizionari specifici del tema sono contenuti file separati di assemblaggio, stile e modello di risorse dell'applicazione deve utilizzare un composito chiave, che racconta WPF che assieme contiene il controllo che lo stile/modello è applicabile a . Così l'esempio precedente deve essere modificato per:?.
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:uc="clr-namespace:MyApp.UserControls;assembly=MyApp">
<!-- Standard look for MyUserControl in the MyApp assembly -->
<Style x:Key="{ComponentResourceKey {x:Type uc:MyUserControl}, Standard}">
<Setter Property="Width" Value="22" />
<Setter Property="Height" Value="10" />
</Style>
</ResourceDictionary>
fonte
2009-02-23 12:15:45
Link è morto :(Vi ricordate l'articolo – Default