Frage

Ich möchte eine Control zur Laufzeit definieren. Ist das möglich? Ich habe die VisualTree Eigenschaft auf der Control Klasse bemerkt. Ich habe auch bemerkt, dass es die Framework-Klasse verwendet. scheint es jedoch kann ich nicht bekommen zu arbeiten.

Ist es möglich, eine Control zur Laufzeit erstellen?

War es hilfreich?

Lösung

Ja, können Sie dies tun Framework verwenden. Charles Petzold hat einen Durchmarsch durch das in Kapitel 11 von „Applications =-Code + Markup“, aber die Grundidee ist, dass Sie eine Framework für die Vorlage ein Wurzelelement erstellen (und weitere Fabriken für alle untergeordneten Elemente), erstellen Sie eine Control und setzen die VisualTree Eigenschaft des Control zum Framework:

FrameworkElementFactory borderFactory = new FrameworkElementFactory(typeof(Border));
// set properties and create children of borderFactory
ControlTemplate template = new ControlTemplate();
template.VisualTree = borderFactory;

myButtonInstance.Template = template;

Andere Tipps

WPF Control-Klasse hat eine ‚Vorlage‘ Eigenschaft, auf die Sie ein zur Laufzeit einstellen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top