Visualisation des thèmes wpf et ressources partagées

Description

7 thèmes sont gracieusement à disposition sur CodePlex pour les applications WPF : http://wpf.codeplex.com/wikipage?title=WPF%20Themes.
J'ai mis un certain temps à les comprendre et à les utiliser correctement, grâce à cet outil qui m'a permis d'y voir plus clair, via notement le rendu réel des controles et des brush pour chacun des thèmes.

Source / Exemple :


Class MainWindow 
    Private Sub MainWindow_Loaded(ByVal sender As Object, 
                                  ByVal e As System.Windows.RoutedEventArgs) Handles Me.Loaded
        Me.Cursor = Cursors.Wait

        'pour indiquer le nombre de colonnes de l'uniformGrid = le nombre de thèmes chargés
        gridThemes.Columns = ThemesEntite.Instance.Count
        'note : la classe ThemesEntite est un singleton qui charge à sa 1ère instanciation 
        '       tous les thèmes disponibles du dossier sélectionné (voir sa procédure New)

        'charge un user control ucTheme pour chaque thème, dans l'uniformGrid
        For Each monTheme In ThemesEntite.Instance
            Dim monUcTheme As New ucTheme
            monUcTheme.MonTheme = monTheme
            monUcTheme.HorizontalAlignment = Windows.HorizontalAlignment.Stretch
            monUcTheme.VerticalAlignment = Windows.VerticalAlignment.Stretch
            monUcTheme.Margin = New Thickness(3, 0, 3, 0)
            gridThemes.Children.Add(monUcTheme)
        Next

        Me.Cursor = Cursors.Arrow
    End Sub
End Class

Conclusion :


J'ai apporté deux modifications aux thèmes, pour disposer de ressources communes à l'ensemble des thèmes, notamment des brush qu'on peut donc appeler directement en XAML sans surprise si on change de skin !
- WindowBackgroundBrush pour la couleur de fond des fenêtres,
- OutsideFontColor, la couleur de font (utilisée pour uniformiser la couleur des TextBlock aux Label !).

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.