2009-09-17 2 views
0

J'ai passé des heures à travailler sur une conception d'application dans WPF et j'ai créé tout un tas de styles différents en cours de route. Mais j'ai remarqué que je venais de modifier les styles dans le fichier SimpleStyles.xaml et non un dictionnaire personnalisé. Donc, j'ai commencé à cliquer droit sur tous les contrôles que je pouvais trouver et sélectionné "modifier une copie" et créé une copie dans un dictionnaire de ressources personnalisé. Mais ensuite j'ai trouvé que beaucoup de contrôles sont basés sur plusieurs styles. SimpleScrollViewer, par exemple, contient à la fois le pouce et probablement plus. Cela a créé un énorme désordre dans la structure globale des styles dans l'ensemble du projet.WPF - Gérer les styles et éviter les dictionnaires de ressources désordonnés

Et ainsi, ma question est la suivante; À quoi dois-je penser lorsque je refais ce projet à partir de zéro? Est-il préférable de modifier une copie des contrôles SimpleStyles? Existe-t-il un outil quelconque pour gérer ce genre de choses? Expression Blend ajoutera un dictionnaire de ressources pour les styles simples la première fois que vous utiliserez un contrôle SimpleStyled.

+0

Je pense que cela est vraiment et Expression Blend question. Je suis sûr que le style "simple" est une caractéristique spécifique de Blend ... – Scrappydog

+0

Oui, vous avez raison. C'est une fonctionnalité de mélange –

Répondre

1

Pour les projets du monde réel, il est préférable de séparer les dictionnaires de ressources par type de ressource puis par domaine fonctionnel.

Par exemple, vous aurez des dictionnaires de ressources horizontales qui entrent dans les catégories suivantes:

  1. Brosses
  2. Styles de contrôle
  3. Convertisseurs/Selectors

Étant donné que ces sont horizontales leurs noms sont assez explicite (par exemple, Brushes.xaml, ControlStyles.xaml, Converters.xaml, etc.)

Si vous utilisez Silverlight, vous devriez probablement penser à utiliser des thèmes. Dans ce cas, vous devez créer Brushes.xaml et ControlStyles.xaml pour chaque [themeName] \ generic.xaml que vous créez.

Ensuite, vous devez créer des dictionnaires de ressources pour les zones fonctionnelles qui abriteront les choses suivantes:

  1. Modèles d'élément pour divers ItemsControls utilisés.
  2. Modèles de contenu pour divers ContentControls utilisés.
  3. One off Styles contrôle

Chaque domaine fonctionnel aurait un dictionnaire de ressources qui avait les éléments ci-dessus (par exemple CustomerManagementStyles.xaml, Orderingstyles.xaml, etc.)

Questions connexes