Création d'un UserControl
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 :
Code:
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 {...} |
Cette solution ne me satisfait pas car mon contrôle n'est pas inclus dans une Grid.
J'essaie alors créer ma classe de cette façon :
Code:
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?