2009-09-29 8 views
3

J'ai une bibliothèque de contrôles personnalisés dans laquelle j'ai défini un modèle de contrôle qui utilise des styles personnalisés. Mon modèle de contrôle se trouve dans le fichier Generic.xaml et les styles qu'il utilise sont également localisés et accessibles par le modèle de contrôle avec l'extension de balisage StaticResource.
Dans certains cas, lorsque j'utilise cette bibliothèque de contrôles, je veux changer certains des modèles utilisés, mais je ne sais pas comment faire.
Je pensais que si j'ajoutais au dictionnaire de ressources de mon Window un style avec un nom, qui est utilisé par le template, mon style va "surcharger" celui qui est défini dans le fichier Generic.xaml, mais cela n'a pas fonctionné .
Que dois-je faire?Styles de remplacement définis dans generic.xaml

Répondre

0

cela fonctionne-t-il?

<Style TargetType="{x:Type YourCustomControl}" 
     BasedOn="{StaticResource {x:Type YourCustomControl}}"> 
    <Setter Property="SomeStylePropertyOfYourCustomControl" 
      Value="{StaticResource SomeStyleYouWantToUseInstead}"/> 
</Style> 
+0

Les clés de mes styles sont des chaînes, et non des types, car les styles de mon modèle sont appliqués aux occurrences d'éléments dans le modèle. – Andy

+0

en utilisant BasedOn = "{StaticResource {x: Type YourCustomControl}}" signifie simplement qu'il est basé sur le style par défaut pour votre contrôle. Pouvez-vous poster quelques exemples de vos styles? – Botz3000

Questions connexes