2009-08-19 12 views
1

J'ai créé mon propre ContentControl en XAML, e.x .:Making modèle de contrôle par défaut modifiable dans Expression Blend

<ContentControl x:Class="server.ui.DiamondButton"> 
    <ContentControl.Template> 
     <ControlTemplate TargetType="src:DiamondButton"> 
      <...> 
     </ControlTemplate> 
    </ContentControl.Template> 
</ContentControl> 

Ceci définit le modèle par défaut et fonctionne généralement très bien. Toutefois, le modèle n'est pas modifiable dans Expression. Je reçois le message 'DiamondButton' ControlTemplate TargetType ne correspond pas au type de modèle 'ContentControl'. Existe-t-il une autre façon de faire cela qui permette d'être modifiable dans Blend?

+0

a exactement le même message dans VS 2012 – Lu55

+0

. .. rend impossible de modifier le contrôle dans VS Designer. Mais cela n'affecte en rien le compilateur ou l'exécution. – Lu55

Répondre

2

Sauf si vous utilisez des propriétés spécifiques de votre DiamondButton à TemplateBindings dans votre ControlTemplate, en changeant le TargetType src: DiamondButton à ContentControl devrait faire l'affaire;) ..

<ContentControl x:Class="server.ui.DiamondButton"> 
    <ContentControl.Template> 
     <ControlTemplate TargetType="ContentControl"> 
      <...> 
     </ControlTemplate> 
    </ContentControl.Template> 
</ContentControl> 
+0

Merci, mais, oui, je me lie aux propriétés spéciales de DiamondButton (le but de la classe est vraiment d'envelopper ces propriétés, sinon j'utiliserais un bouton de style). –

+0

Hmm .. c'est trop mauvais;) .. Avez-vous déjà essayé la balise de type pour TargetType {x: Type src: DiamondButton}? – Arcturus

+0

Yup; c'est la même chose. Ça va; Je fais la plupart de mes montages en XAML de toute façon ;-P. –

Questions connexes