2010-04-05 2 views
0

J'utilise le NavigationFramework dans Silverlight 3, et je rencontre des problèmes où le constructeur du UserControl dans le xaml que je charge n'est pas appelé, et je Je crois que c'est parce que le UserControl dans le xaml que j'appelle est en réalité dérivé d'un autre contrôle utilisateur. J'ai franchi le débogueur avec des points de rupture spécifiques et le constructeur est complètement ignoré.framework de navigation dans silverlight 3 ignorer le constructeur quand usercontrol est de type dérivé

J'ai MyWindowBlue qui est de type uctrlBaseMyWindow.

Le constructeur de uctrlBaseMyWindow est appelé lorsque le xaml est 'navigué vers' mais le constructeur de MyWindowBlue est ignoré.

Ce n'est pas le cas si j'ajoute directement le contrôle utilisateur via le balisage.

Quelqu'un d'autre a ce problème?

Le code que je utilise pour accéder au MyWindowBlue est

  this.MyContentFrame.Navigate(new Uri("/Controls/uctrlMyWindowBlue.xaml", UriKind.Relative)); 

Quelqu'un at-il rencontré ce ou pourrait offrir de l'aide?

Merci

Répondre

0

J'ai trouvé l'erreur dans mon code.

Cela était dû à une erreur dans mon code XAML. J'avais déplacé le contrôle utilisateur vers un dossier différent, et le code C# derrière avait un type du même nom à un emplacement dans l'espace de noms, mais le balisage XAML avait le type dans un emplacement différent (le dossier d'origine), et ainsi la classe partielle avec le constructeur n'était pas liée au type que j'étais en train d'instancier.

J'ai corrigé la référence de type pour pointer vers l'emplacement correct dans l'espace de noms et maintenant le code de classe partiel derrière est lié en arrière.

Questions connexes