J'ai le scénario suivant (j'utilise Beta Silverlight4):Silverlight lie modèle objet: ne peut pas faire fonctionner
UserControl A: -> DataContext est un objet de MyModel de classe qui contient des propriétés Property01 (CustomClass), Property02 (CustomEnum). La classe MyModel implémente INotifyPropertyChanged et toutes les propriétés appellent l'événement PropertyChanged chaque fois qu'elles changent.
UserControl B: -> DataContext doit être un objet de type (CustomClass) -> DependencyProperty MyProperty de type (CustomEnum)
Mon UserControlA contiendra un UserControlB et je voudrais lier les propriétés dans le manière suivante (à partir de XAML):
-> UserControlB.DataContext = UserControlA.DataContext.Property01
-> UserControlB.MyProperty = UserControlA.DataContext.Property02
<!-- DataContext = MyModel -->
<Grid x:Name="LayoutRoot">
<foo:UserControlB x:Name="xpto" DataContext="{Binding Property01}" MyProperty="{Binding Property02}" />
</Grid>
Faire les choses comme ci-dessus définit le DataContext de UserControlB à la valeur correcte, mais la liaison sur UserControlB.MyProperty ne se produit jamais. Si je supprime l'instruction DataContext = "{Binding Property01}", la liaison sur UserControlB.MyProperty se produira.
Quelqu'un peut-il me expliquer si s'il vous plaît je fais quelque chose qui va agains les lois universelles de Silverlight :-)
Un grand merci à l'avance, Bruno
Salut, Merci pour votre réponse rapide. N'existe-t-il aucun moyen de forcer une liaison à commencer à vérifier uniquement sur le DataContext du parent et au-dessus (ang ignore le DataContext actuel)? – Bruno
Je ne pense pas que vous pouvez dans Silverlight. –