WPF DataContext pour enfants / Détail UserControl / Voir

voix
1

Je suis nouveau à C # et WPF, donc s'il vous plaît garder avec moi ..

Ce n'est pas exactement un scénario maître / détail, et pourrait être la raison pour laquelle je rencontre des problèmes, mais en général, je suis en train de comprendre comment relier deux ensembles de données qui ne sont pas tout à fait maître / détail.

Pour simplifier, disons que j'ai deux vue / viewmodels pour

1) Person
ID, FirstName, LastName

2) Contact
ID, PhoneNumber

Maintenant, je sais que vous pensez normalement d'une personne ayant plusieurs contacts, et ce serait quelque chose comme ceci:

    Contact :  
ID, PersonID, PhoneNumber

mais pour cet exemple, nous allons continuer la façon dont je vais ...

J'ai une autre table, une table de jointure, qui a

PersonID
ContactID

Maintenant, si Bob et Mary ont le même numéro de téléphone, il y a 2 entrées dans la table de jointure

1 1
2 1

(En supposant que Bob est 1, Mary est 2, et est 555-555-5555 ID 1 pour le contact)

Alors, je construis la vue et viewmodel pour la personne, pas de problème je construis la vue et viewmodel pour le contact, encore une fois aucun problème

Maintenant, comment, si je construis une vue qui utilise personne comme maître et contact que le détail, pour limiter l'affichage des seuls contacts pour la personne sélectionnée? Et même, si j'ai une autre vue de contact #s et je veux voir une liste des personnes associées à un numéro que choisi, comment faire aussi bien.

Il est sans doute quelque chose de facile, mais je ne peux pas sembler comprendre.

Ou, dois-je créer en fait un ObservableCollection dans la personne viewmodel et aussi ObservableCollection dans le contact viewmodel?

Toute aide serait appréciée.

Créé 27/08/2009 à 06:16
source utilisateur
Dans d'autres langues...                            


1 réponses

voix
0

Beaucoup à de nombreuses relations, un concept de base de données, il est difficile d'exprimer en C #.

Une façon de mettre en œuvre c'est:

  1. Demandez à votre objet Personne exposer une collection d'objets de contact qui appartiennent à cette personne.
  2. Demandez à vos objets de contact exposer une collection d'objets personne qui partagent cet ensemble d'informations de contact.

Cela permet à votre vue et votre personne vue Contact pour fonctionner comme des vues maîtres détails standard.

Créé 15/06/2010 à 20:54
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more