Bonjour,
Je souhaite ajouter un comportement spécifique SpecialControl_Changed à plusieurs Control : Button, RadioButton, TextBlock, etc...
Ce comportement nécessite que le Control soit contenu dans une Grid.
Une propriété MyProperty est accessible à tous ces Control.
Je n'ai pour l'instant pas trouvé de conception satisfaisante.
Voici celle que j'ai conçue pour l'instant :
Cette solution ne me satisfait pas car mon contrôle n'est pas inclus dans une Grid.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 public interface ISpecialControl { object MyProperty{ get; set; } void SpecialControl_Changed(object sender, EventArgs e); } public class SpecialTextBox : TextBox, ISpecialControl {...}
J'essaie alors créer ma classe de cette façon :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 public class SpecialTextBox : UserControl, ISpecialControl { private Grid myGrid; private TextBox myTextBox; }
J'aimerai plutôt créer une classe abstraite SpecialControl qui hérite de Grid. Puis les classes filles contiendraient le Control de base (Button, TextBox, ...) et son comportement.
Je n'arrive pas à mettre en place cette solution car ma classe SpecialControl n'est pas reconnue dans le xaml de ma classe fille.
Est ce que ma solution à base de classe abstraite vous parait bonne. Si oui, comment faire pour hériter de son propre UserControl?
Partager