Je suis en train de faire quelque chose comme ça ...Est-ce que mon Setter Style WPF peut utiliser un TemplateBinding?
<Style
x:Key="MyBorderStyle"
TargetType="Border">
<Setter
Property="BorderBrush"
Value="{StaticResource MyBorderBrush}" />
<Setter
Property="Background"
Value="{StaticResource MyBackgroundBrush}" />
<Setter
Property="Padding"
Value="{TemplateBinding Padding}" />
</Style>
... mais je reçois l'erreur: 'Padding' member is not valid because it does not have a qualifying type name.
Comment puis-je fournir un « nom de type admissible »?
Remarque: La raison pour laquelle j'essaie de le faire est que je souhaite inclure la même bordure dans une série de ControlTemplates similaires.
Merci.
EDIT:
Eh bien, j'ai essayé ça ...
<Setter
Property="Padding"
Value="{TemplateBinding GridViewColumnHeader.Padding}" />
... et effectivement compilé, mais quand je courais l'application, je suis un XamlParseException
:
Cannot convert the value in attribute 'Value' to object of type ''.
Je pensais peut-être qualifier Padding
avec GridViewColumnHeader
(qui est le ControlTemplate je veux utiliser ce style avec) fonctionnerait, mais pas de dés.
EDIT 2:
Eh bien, selon la documentation TemplateBinding
, il est dit:
Links the value of a property in a control template to be the value of some other exposed property on the templated control.
Il semble donc que ce que je suis en train de faire est tout simplement impossible. Je voudrais vraiment pouvoir créer des styles réutilisables pour certains contrôles dans mes modèles de contrôle, mais je suppose que les liaisons de modèles ne peuvent pas être incluses dans ces styles.
Bonne idée, Shane. Merci. – devuxer