Style par defaut Generic.xaml
De Banane Atomic
Aller à la navigationAller à la recherche
Description
Permet de définir un style par défaut pour les custom controls.
Thèmes WPF sur NuGet
Paquets NuGet | Thèmes |
---|---|
MahApps.Metro | BaseLight, BaseDark Red, Green, Blue, Purple, Orange, Lime, Emerald, Teal, Cyan, Cobalt, Indigo, Violet, Pink, Magenta, Crimson, Amber, Yellow, Brown, Olive, Steel, Mauve, Taupe, Sienna |
Wpf.Themes | BureauBlack, BureauBlue, ExpressionDark, ExpressionLight, ShinyBlue, ShinyRed, WhistlerBlue |
Infragistics.Themes.* | MetroDark, MetroLight, IG, Office2013, Office2010Blue |
WPFThemes.DarkBlend | DarkBlend |
Xceed.Products.Wpf.Toolkit.Base.Themes |
Generic.xaml
Il est le dictionnaire générique de l'assemblage, et doit se trouver dans un dossier nommé Themes, qui lui est à la racine du projet.
Il pourra donc contenir les thèmes par défaut des UserControl de l'assemblage.
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <Style TargetType="MonUserControl"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="MonUserControl"> ... </ControlTemplate> </Setter.Value> </Setter> </Style> </ResourceDictionary> |
Assembly.cs
Dans les propriétés du projet, on peut spécifier où doivent être chercher le dictionnaire générique et le dictionnaire de ressources de thème.
On peut donc définir le dictionnaire générique dans l'assemblage courant ou dans un autre assemblage.
[assembly: ThemeInfo( // là où se trouve le dictionnaire de ressources de thème: ici pas de dictionnaire de ressources de thème ResourceDictionaryLocation.None, // là où se trouve le dictionnaire générique: dans l'assemblage courant ResourceDictionaryLocation.SourceAssembly )] |
Constructeur statique
MyUserControl.cs |
public class MyUserControl : TextBox { static MyUserControl() { DefaultStyleKeyProperty.OverrideMetadata( typeof(MyUserControl), new FrameworkPropertyMetadata(typeof(MyUserControl))); } |