WPF liaison de plusieurs commandes à d'autres datacontexts

J'ai un scénario où je ne sais pas vraiment comment lier des données à des contrôles hébergé dans un UserControl à plusieurs datacontexts.

Les données que je veux lier vient de 2 classes

UserInfo, UserExtendedInfo

Le datacontext de l'objet UserControl est la valeur UserInfo afin que je puisse lier la plupart des commandes facilement procédant de la manière suivante

<Label Name="LblEmail" Text="{Binding Email}" />

Cependant je ne sais pas comment lier les propriétés de la UserExtendedInfo classe facilement. Ma première pensée a été de définir le datacontext de chaque contrôle qui veulent à utiliser les données de UserExtendedInfo afin que je puisse faire de même. Mais ce qui semble lourd que je dois attribuer manuellement chacun indivdually. Les données pour UserExtendedInfo doivent être récupérées à partir de la base de données chaque fois que le UserControl devient visible, afin de ne pas sortir de la synchronisation.

XAML:

<Label Name="LblTest" Text="{Binding Locale}" />

Code Derrière:

Private Sub UserManager_IsVisibleChanged(ByVal sender As System.Object, ByVal e As System.Windows.DependencyPropertyChangedEventArgs)  
If DirectCast(e.NewValue, Boolean) Then
Dim user As UserInfo = DirectCast(DataContext, UserInfo)
If user IsNot Nothing Then
Dim usrExt As UserExtenedInfo = UserController.GetUserExtended(user.userID)
LblTest.DataContext = usrExt
Else
Throw New ArgumentException("UserId doesn't exist or is less than 1")
End If
End If
End Sub
InformationsquelleAutor Alex | 2009-03-25