L'utilisation de plusieurs styles sur des éléments dans XAML (Windows 8
styles XAML sont parfaits pour la création de mise en forme et des propriétés générales setters qui peuvent être appliqués à des éléments dans votre interface utilisateur facilement.
Ils sont utilisés massivement dans Windows Phone, Windows 8 et Silverlight, ainsi que dans WPF. (Notez que certaines compilation conditionnelle a lieu de tenir compte de la différence entre Win8 XAML et WP XAML.
L'un des inconvénients majeurs de l'utilisation des styles est que vous ne pouvez pas les combiner - il n'y a aucun moyen d'appliquer plus d'un style à un élément. Il y a un tas de façons de contourner cela, cependant, à la fin de la journée, la plupart des gens finissent par en alignant quelques-uns des styles. Il est possible de « hériter » styles, mais vous gagnez immédiatement toutes les propriétés que vous, en fonction de ce qui est pas toujours souhaitable.
Un exemple de ceci serait si vous aviez les styles suivants:
- HeaderStyle - Utilisé par vous pour spécifier la taille du texte qui doit être très visible.
- textForMessageStyle - Utilisé lorsque vous avez un texte qui pourrait ruissellements et que vous voulez envelopper et mettre des points de suspension à la fin de celui-ci.
- centeredStyle - Utilisé pour le texte de centrage - VerticalAlignment et TextAlignment sont mis à Centre en HorizontalAlignment est réglé sur Étirez.
Notez que CompoundStyle a un grand tirage au dos et qui est qu'il ne peut pas être modifié de manière dynamique. Une fois attribué, il sera « gelé ». Si vous liez vos styles, ce ne sera probablement pas assez bon pour vous. Vous devriez être en mesure de retravailler le code et définir certains des objets comme DependencyObjects et les mettre en œuvre des propriétés de dépendance (en particulier dans la classe StyleHolder).
Création d'un style basé sur plusieurs styles
Si vous souhaitez créer un style composé dans votre dictionnaire de ressources, qui est assez facile:
En utilisant le style est légèrement différent que d'utiliser un style qui est dans une ressource:
Étant donné que la classe de style est scellé, il n'y a aucun moyen d'hériter simplement et permettent aux développeurs de référence simplement le style, malheureusement. , Nous relions au lieu de définir ce que la source est (notre ressource) et spécifions la propriété qui contient le style de composé (Style).
Les propriétés Style1, STYLE2, style3, style4, Style5 vous permettent d'appliquer jusqu'à 5 styles « sténographie ». Si vous avez besoin de plus de styles, vous pouvez utiliser à la place la collection BasedOnStyles:
Directement fixation style composé (aucune ressource)
Si vous souhaitez spécifier votre style de composé, mais pas comme une ressource, mais directement sur l'élément, vous pouvez le faire aussi. Il est possible d'utiliser simplement la propriété Attached pour définir un CompoundStyle sur un élément:
Directement attacher avec des noms de style juste
Enfin, il y a une méthode encore plus courte d'attacher des styles à un élément via les StyleKeys propriétés attachées. Cette méthode présente trois inconvénients à ce:
- Ce n'est pas « type sûr ». C'est-à-dire - le compilateur et le concepteur ne vous avertit pas que quelque chose ne va pas si vous la clé d'une faute de frappe une ressource ou quelque chose.
- Il ne s'appliqué après l'élément est chargé. Cela ne devrait pas causer de problèmes majeurs, mais il vaut la peine d'être au courant.
- Si votre nom de ressource a une virgule en elle, ce mécanisme vous ne parvenez pas (au sérieux - qui met une virgule dans un nom de ressource Qu'est-ce que nous sommes les animaux??)
Voici comment vous appliquez les styles lors de l'utilisation de cette méthode:
C'est à peu près tout! Vous pouvez télécharger le code ici.