Ho un Button ControlTemplateemplate che mi piacerebbe riutilizzare, ad eccezione di CornerRadius del suo bordo, che mi piacerebbe ottenere da TemplatedParent in modo da poterlo specificare nella dichiarazione Button.
Sfortunatamente, CornerRadius non è una proprietà di Button, quindi al compilatore non piace.
Vedo un paio di modi per riuscirci, ma non mi piacciono molto.
- Uso improprio di un campo che altrimenti non sto usando (diciamo, MinWidth?) Per comunicare questo nuovo raggio. Non sono sicuro che funzionerà poiché un int non è esattamente un CornerRadius.
- Crea una sottoclasse di Button per aggiungere CornerRadius e usarlo.
C'è un altro approccio che potrei perdere?
risposte:
0 per risposta № 1L'unica altra cosa a cui potrei pensare sarebbecreando un AttachedProperty per CornerRadius e collegandolo al pulsante, quindi vincolando a quello. Non sono sicuro, tuttavia, se l'associazione con AttachedProperty funzionerà tramite TemplatedParent.
Inoltre, è probabilmente meno codice solo per creare una classe Button derivata rispetto a creare una AttachedProperty. Quindi potrebbe non valerne la pena.