Lors de l'écriture d'applications WPF/Silverlight, j'ai parfois du mal à déterminer si une propriété doit entrer dans un style ou être laissée directement sur l'élément. Quelles lignes directrices utilisez-vous pour décider?En XAML, quelles "lignes directrices" devrais-je utiliser pour décider si une propriété devrait ou non être dans un style?
Répondre
Je pense que cela revient généralement à la réutilisation du style et à l'organisation globale du projet. Si c'est un style que vous allez réutiliser à travers de nombreux éléments différents dans un contrôle (comme des pinceaux) ou même dans de nombreux contrôles différents dans votre projet, vous allez évidemment vouloir le sortir dans sa propre ressource . Pour une meilleure organisation, vous aurez probablement même envie de mettre ces styles partagés dans leur propre fichier de dictionnaire de ressources et utilisé MergedDictionaries pour les placer dans différents contrôles. Vous pouvez également créer des effets en cascade très utiles entre différents styles en utilisant l'attribut BasedOn
.
Quand il s'agit juste d'une caractéristique "unique" d'un élément spécifique, je pense qu'il est bon de garder les attributs de style directement sur l'élément. S'il n'a pas besoin d'être partagé et que le style est unique à l'élément (bordure, marge, etc.), il est beaucoup plus facile et plus lisible de le garder directement sur l'élément.
Très bonne question. Il y a deux situations dans lesquelles je déplace une propriété dans un style.
1) Les propriétés surchargées - Les propriétés surchargées ne sont rien d'autre que trop de propriétés pour personnaliser un élément. Dites par exemple. Si vous avez un bloc de texte et que vous voulez personnaliser presque toutes les propriétés. Ensuite, cela réduira la lisibilité. Cela aussi s'il a quelque chose comme des déclencheurs. Ce sera trop de monde. À ce moment-là, j'avais l'habitude de les déplacer à un style.
2) Styles utilisés de manière répétée - C'est un cas évident, si je veux appliquer un même ensemble de propriétés à appliquer pour un contrôle. Habituellement, nous le faisons par x:key
ou TargetType
.
HTH
- 1. lignes directrices pour une nouvelle application
- 2. Quelles lignes directrices devraient être suivies pour les politiques et les procédures?
- 3. Si le ARG_TYPE pour un CArray être const & ou non
- 4. Lignes directrices relatives aux conflits
- 5. Décider parmi les technologies Java devrait utiliser - beginner
- 6. Comment utiliser la valeur de retour d'une feuille pour décider de fermer ou non une fenêtre?
- 7. WPF/XAML Style set Propriété pour les éléments enfants?
- 8. devrait être libéré ou non variable? iphone-sdk
- 9. Où devrait être mis XAML pour la mise en page du contrôle personnalisé dans WPF?
- 10. créer un style d'image en xaml
- 11. XAML: Comment utiliser un convertisseur de liaison dans un style?
- 12. Comment puis-je utiliser un déclencheur XAML pour dire super-ou-égal à une valeur?
- 13. Qu'est-ce qui devrait être stocké dans une session et dans un cookie?
- 14. Lignes directrices/principes pour la conception d'emballages et de composants
- 15. Comment décider quand utiliser XSD ou DTD?
- 16. Devrait être un groupe unique dans un projet multimodule?
- 17. Comment Entity Framework dit si une multiplicité de "un" ou "zéro ou un" devrait être utilisé sur une relation?
- 18. Comment définir une propriété de liaison via un style en XAML?
- 19. Lignes directrices de DotNetNuke et Subversion
- 20. Chooser JFile décider si répertoire ou un fichier est sélectionné
- 21. décider si un nombre est parfait ou premier
- 22. WPF4 DataGridHeaderBorder dans un XAML style
- 23. Lignes directrices pour rejoindre/link/many to many tables
- 24. Lignes directrices de base pour le benchmarking haute performance
- 25. Quelle bibliothèque devrait être incluse pour utiliser TransparentBlt?
- 26. WPF "Selected" Propriété de contrôle personnalisé ou "Focus logique". Que devrait-on utiliser?
- 27. Pour vérifier si un objet est vide ou non
- 28. DataTrigger/Style rapide en XAML
- 29. WPF Xaml Custom Style Style d'élément sélectionné dans un ListBox
- 30. Les meilleures pratiques et lignes directrices pour la conception d'une API