Themes/Generic.xaml

De Banane Atomic
Aller à la navigationAller à la recherche

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.

Xaml.png
<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.

40px
[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

40px
static MonUserControl()
{
    DefaultStyleKeyProperty.OverrideMetadata(typeof(MonUserControl), new FrameworkPropertyMetadata(typeof(MonUserControl)));
}