Je veux créer un contrôle personnalisé dérivé de ComboBox
, si je crée un contrôle personnalisé à partir du modèle de studio visuel, il crée un défaut Style
de contrôle et je dois ouvrir puis MSDN de ControlTemplate
de ComboBox
puis recréer une nouvelle fois tout le style ComboBox
dans un generic.xamlComment remplacer uniquement ItemTemplate dans le contrôle personnalisé
Ce que je veux faire est, je veux créer un contrôle personnalisé dérivé de ComboBox
et dans le generic.xaml Je veux seulement définir un ItemTemplate
et non entier ControlTemplate
.
Cependant, si je garde la ligne
static MyComboBox()
{
DefaultStyleKeyProperty.
OverrideMetadata(typeof(MyComboBox),
new FrameworkPropertyMetadata(
typeof(MyComboBox)));
}
Je ne vois rien du tout si je retire la ControlTemplate
de generic.xaml, si je définis clé ItemTemplate
dans generic.xaml, comment dois-je initialiser mon constructeur statique afin de refelct seulement ItemTemplate
?
Bien sûr, je peux repenser le thème xaml à partir de l'aide msdn mais n'y a-t-il pas un moyen facile de le faire?
Avez-vous essayé d'utiliser un style qui définit le modèle de contrôle? Quelque chose comme Style.Setters> –
Carlo
@ Carlo, je ne veux pas définir ControlTemplate, je veux seulement définir ItemTemplate, si je set ControlTemplate alors je vais devoir écrire tout ce que la combobox par défaut a déjà défini. –