/ / Kann ich in WPF irgendwie TemplateBinding verwenden, um den CornerRadius einer mit Vorlagen versehenen Schaltfläche festzulegen? - c #, wpf, button, controltemplate, cornerradius

Kann ich in WPF irgendwie TemplateBinding verwenden, um den CornerRadius eines Vorlagensatzes festzulegen? - c #, wpf, button, Kontrollvorlage, cornerradius

Ich habe eine Button ControlTemplateemplate, die ich wiederverwenden möchte, mit Ausnahme des CornerRadius von Border, den ich von TemplatedParent erhalten möchte, sodass ich ihn in der Button-Deklaration angeben kann.

Leider ist CornerRadius keine Eigenschaft von Button, daher mag es der Compiler nicht.

Ich sehe ein paar Möglichkeiten, wie ich es schaffen könnte, aber ich mag sie nicht wirklich.

  1. Missbrauche ein Feld, das ich nicht anders benutze (sprich MinWidth?), Um diesen neuen Radius zu kommunizieren. Ich bin mir nicht sicher, ob dies funktioniert, da ein int nicht genau ein CornerRadius ist.
  2. Erstellen Sie eine Unterklasse von Button, um CornerRadius hinzuzufügen, und verwenden Sie diese.

Gibt es einen anderen Ansatz, den ich vermissen könnte?

Antworten:

0 für die Antwort № 1

Das einzige, was ich mir vorstellen könnte, wäreErstellen einer AttachedProperty für CornerRadius und Anhängen an die Schaltfläche, Binden an diese Schaltfläche. Ich bin nicht sicher, ob die Bindung an die AttachedProperty TemplatedParent funktioniert.

Außerdem ist es wahrscheinlich weniger Code, nur um eine abgeleitete Button-Klasse zu erstellen, als um eine AttachedProperty zu erstellen. Es lohnt sich also nicht.