2010-11-16 16 views
0

Je veux refactoriser de nombreux contrôles similaires qui ne diffèrent que par la valeur d'une seule propriété (en plus des propriétés de positionnement). Imaginez que j'ai un contrôle utilisateur (appelons-le UC1) qui ont un Label. Le Label.Content doit être value + ":" où la valeur est transmise par une propriété au contrôle utilisateur.Comment faire des propriétés paramétrables dans les contrôles utilisateur WPF?

je pourrais le mettre en œuvre à la main en utilisant l'événement Initialized, mais il arrive que dans mon cas, il est pas un Label mais un contrôle personnalisé (appelons-le UC2) qui lui-même a besoin de la propriété sur son propre événement Initialized.

D'une certaine manière, l'UC2 Initialized s'exécute avant les UC1, et il génère une exception car la valeur de la propriété n'est pas encore définie.

Comment résoudre ce problème?

Répondre

0

Peut-être le problème est cause en appelant InitializeComponent() dans le contrôle de l'utilisateur quand il ne devrait pas. Il peut provoquer l'événement Initialized deux fois.