2010-10-20 6 views
1

Je viens juste de commencer à essayer de rassembler un ensemble de contrôles en assemblages et je travaille sur le style par défaut. Ce que j'ai actuellement est un UserControl dans un projet (merci Reed!) Et je suis capable de l'amener dans un autre projet par référence. J'ai l'intention d'ajouter plus de contrôles au fil du temps pour construire quelque chose d'un SDK. J'ai actuellement quelques hooks qui recherchent des ressources dans l'application d'hébergement qui soit appliquent les ressources à leurs propriétés respectives, ou stylisent le contrôle via des valeurs par défaut codées en dur.Dictionnaires de ressources dans un assemblage Silverlight?

Est-il possible de configurer des dictionnaires de ressources dans le projet contenant les UserControls afin qu'ils puissent utiliser ces références par défaut, au lieu de coder en dur? Si oui, comment puis-je les cibler?

(j'ai un ResourceDictionary mis en place dans le même projet que les contrôles: Ressources> Dictionnaires> Colors.xaml)

Merci à l'avance!

E

+0

Bon, grâce à l'information que vous tous deux fournis, je suis parvenu à faire un peu de progrès à ce sujet, mais maintenant je suis en cours d'exécution dans un accroc et les gars peuvent peut-être aider. – Eric

+0

(en ajoutant ce commentaire parce que n'a pas inséré de retour chariot - oups!) J'ai un nouveau projet mis en place en utilisant generic.xaml dans un dossier Themes, et un fichier de classe pour le premier contrôle. Lorsque j'essaie d'exécuter le projet consommant l'assembly, je reçois "Impossible de créer un 'System.Type' à partir du texte 'local: SolidGloss' - SolidGloss.cs a son espace de noms défini comme UXSDK, et dans generic.xaml, je suis en utilisant xmlns: local = "clr-namespace: UXSDK; assembly = UXSDK ", et dans le modèle, TargetType =" local: SolidGloss " – Eric

+0

Avez-vous essayé la fonction d'édition sous les balises ci-dessus, que la meilleure façon d'élargir votre question plutôt que d'ajouter un commentaire, qui est plus difficile à lire – AnthonyWJones

Répondre

-1

Si j'undestanding correctement vous voulez créer le fichier « generic.xaml » dans le dossier « Thèmes ». Cependant, je ne crois pas le style automatique fonctionne avec UserControl seulement avec Control. En règle générale, si vous essayez de créer un contrôle qui peut être stylisé et que vous voulez le récupérer, vous voulez hériter de Control et non de UserControl.

0

Vous devriez vraiment chercher à créer des contrôles basés sur des modèles personnalisés dans la bibliothèque plutôt que des dérivés de UserControls. Cela permettra aux projets qui référencent votre bibliothèque de spécifier un style par défaut alternatif pour vos contrôles de la même manière que nous le pouvons pour les contrôles dans le SDK propre à Microsofts.

Le sujet Creating a New Control by Creating a ControlTemplate sur MSDN est bon démarreur.

+0

Ce que j'essaie de faire est d'éliminer la nécessité de plusieurs fichiers L'objectif est d'avoir un ensemble de contrôles sous un même assembly qui peuvent être référencés pour plusieurs projets.Ces contrôles auront des propriétés exposées pour permettre le style sans générer de modèles.Il s'agit de permettre aux autres membres de l'organisation d'assembler rapidement des vues conformes à nos directives visuelles "out-of-the-box". – Eric

Questions connexes