2010-10-26 23 views
3

我想在一個窗口中設計一個輕的「會員列表/編輯」應用程序。我的猜測是實現這一目的的最好和最簡單的方法是在面板上具有「列表」部分(主要是datagridview和一些搜索內容),並且「編輯」(新成員或修改成員)在另一方面,每個面板隱藏另一個取決於用戶想要做什麼。 這就是我必須從視覺上講的。什麼是分層面板的巧妙設計?

我想過很多方法來設計這個,但沒有人聽起來對我來說實際上很好,主要是當它實例化編輯面板的視圖模型,通過列表面板的dgv中的選定成員或類似的東西。 我仍然認爲自己是WPF的初學者,我確信最聰明的解決方案是我想不到的。

等不及看專家的建議;)

+0

你是從UX的角度問的嗎? – 2010-10-26 13:34:14

回答

2

你應該在DataTemplate中的術語來思考了。

分割你的兩個不同的意見,例如。 MemberListingView.XAML和MemberEditView.XAML。爲每個視圖創建視圖模型。

爲了把它放在一起,按照數據模板技術:

​​

你應該有地方在你的背景下,指定您需要顯示當前視圖的屬性。

private ViewModelBase _currentView; 
public ViewModelBase CurrentView 
{ 
    get { return _currentView; } 
    set 
    { 
     _currentView = value; 
     RaisePropertyChanged("CurrentView"); 
    } 
} 

// ... 
public void OnSelectedMemberChanged(Member member) 
{ 
    // Depending on your logic 
    // If some condition... 
    CurrentView = new MemberEditVM(member); 
    // else 
    CurrentView = MemberListingVM; 
}