2009-08-27 29 views
1

我是新來的C#和WPF,所以請多多包涵..WPF DataContext的兒童/詳細用戶控件/查看

這不正是主/明細情況,並可能是爲什麼我有問題,但一般來說,我試圖弄清楚如何關聯不太主要/詳細的兩組數據。

爲了簡單起見,假設我有兩個視圖/的ViewModels爲

1) Person 
ID, FirstName, LastName 

2) Contact 
ID, PhoneNumber 

現在,我通常知道你認爲有幾次接觸的人,這將是這樣的:

Contact : 
ID, PersonID, PhoneNumber 

,但在這個例子中,讓我們繼續我去的方式......

我還有一個表,連接表,有

現在
PersonID 
ContactID 

,如果鮑勃和瑪麗都具有相同的電話號碼,也有連接表

1 1 
2 1 

(假設鮑勃2項爲1,Mary是2,和555-555-5555爲ID 1的聯繫)

所以,我建立了個人的觀點和視圖模型,沒有問題 我建立了聯繫的觀點和視圖模型,再沒有任何問題,現在

,怎麼樣,如果我建使用Person作爲主人的視圖a nd聯繫人的詳細信息,以限制只顯示所選人員的聯繫人?同樣,如果我對聯繫人編號有另一種看法,並且希望查看與所選號碼關聯的人員列表,那麼也應該如何執行此操作。

這可能很容易,但我似乎無法弄清楚。

或者,我是否需要在Person viewmodel中創建ObservableCollection,還需要在Contact viewmodel中創建ObservableCollection?

任何幫助,將不勝感激。

回答

0

多對多的關係,數據庫概念,很難在C#中表達。實現這個

一種方法是:

  1. 讓你的Person對象暴露屬於該人聯繫對象的集合。
  2. 讓您的聯繫人對象公開一組共享該聯繫人信息的Person對象。

這允許您的人員視圖和您的聯繫人視圖像標準主要詳情視圖一樣操作。