SplitButton par défaut fonctionne bien, mais lorsque j'essaie de travailler avec son modèle de contrôle, des problèmes surgissent. Si j'essaie d'obtenir le modèle de contrôle avec réflexion (avec ConstructorInfo), je reçois un modèle de contrôle vide pour SplitButton. Si j'essaie de 'Modifier la copie du modèle' dans XAML Designer, j'obtiens une copie qui ne fonctionne pas (comme ItemsSource ne lie pas aux éléments dans ListBox de SplitButton car il est toujours vide). Ma version de MahApps Metro est 1.4.3.0MahApps: Modèle de contrôle Metro SplitButton
Voici comment j'essaie d'obtenir le contrôle de modèle SplitButton:
MahApps.Metro.Controls.SplitButton ctl = sender as MahApps.Metro.Controls.SplitButton;
Type type = ctl.GetType();
if (type == null)
return;
// Instantiate the type.
ConstructorInfo info = type.GetConstructor(System.Type.EmptyTypes);
Control control = (Control)info.Invoke(null);
// Get the template.
ControlTemplate template = control.Template;
// Get the XAML for the template.
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
StringBuilder sb = new StringBuilder();
XmlWriter writer = XmlWriter.Create(sb, settings);
XamlWriter.Save(template, writer);
Merci pour info, mais je l'ai déjà obtenu la même source d'une application de démonstration MahApps (ButtonsExample). Cependant le problème que j'ai eu avec ce modèle de contrôle est qu'il ne reconnaît pas ClipBorder comme référence disponible (peut-être en raison de la version 1.4.3.0?) – VladacusB
Alors pourquoi ne pas remplacer le ClipBorder par une bordure? – mm8
... et pourquoi ne votez-vous pas des réponses utiles au lieu de fournir votre propre réponse? Bien sûr, le modèle par défaut fonctionne. – mm8