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 !).
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.