Erstellen ControlTemplate programmgesteuert in WPF
Wie kann ich programmgesteuert eine Schaltfläche Vorlage?
Polygon buttonPolygon = new Polygon();
buttonPolygon.Points = buttonPointCollection;
buttonPolygon.Stroke = Brushes.Yellow;
buttonPolygon.StrokeThickness = 2;
//create ControlTemplate based on polygon
ControlTemplate template = new ControlTemplate();
template.Childeren.Add(buttonPolygon); //This does not work! What's the right way?
//create button based on controltemplate
Button button = new Button();
button.Template = template;
Also brauche ich eine Möglichkeit, mein Polygon wie die Schaltfläche Vorlage. Vorschläge?
Dank.
InformationsquelleAutor Thomas Stock | 2010-03-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Offiziell wird, sollte der XAML-Code für das neue "ControlTemplate" als string, dann verwirklicht es als ein ControlTemplate-Objekt mit XamlReader.Parse.
Einer stärker strukturierten Weise, dies zu tun ist mit der FrameworkElementFactory-Klasse-erstellen eines FrameworkElementFactory und setzen ControlTemplate.VisualTree an, dass FEF. Dies gibt Ihnen eine verbesserte Sicherheit Bauart Sicherheit und vermeidet die clunkiness des Schreibens ein Objekt-Baum Lesen Sie es wieder an. Allerdings ist es offiziell nicht mehr und kann es ziemlich schwierig, wenn Sie eine komplizierte Vorlage.
Sehen Wie, um das setup eine WPF datatemplate-in-code für ein treeview? Beispiele für beide Ansätze-Sie sind geschrieben in dem Kontext ein DataTemplate wird aber Arbeit für ein ControlTemplate als gut.
InformationsquelleAutor itowlson