2012-12-13 75 views
1

我正在爲我的佈局創建一個使用DockPanel的應用程序。在'左'DockPanel我已經設置了一些鏈接(標籤),我想用它在單擊鏈接時打開不同的UserControls。我希望UserControls在單擊相應鏈接時始終在「正確」DockPanel中打開。WPF/MVVM:在同一個DockPanel中打開不同的用戶控件

WPF(使用MVVM)我會用什麼機制來實現這個?有什麼我可以查看的例子嗎?

回答

4

的一般模式,遵循的是這樣的:

  1. 添加ContentPresenter的地方在你的用戶界面,將主辦開關能的內容(DockPanel在你的情況下右圖)。
  2. 每個可切換視圖的可視化表示將由用戶控件表示。
  3. 每個可切換視圖的數據將由viewModel表示。
  4. ContentPresenterContent屬性綁定到視圖模型中的屬性,該屬性的viewModel類型代表視圖E.G. BoundContent
  5. 單擊鏈接時,viewModel應該通過更改綁定屬性並提高PropertyChanged事件來通知您的視圖。
  6. 對於每個可以切換的「視圖」,您需要一個DataTemplate,它將每個用戶控件映射到每個視圖模型。

Rachel Lims博客包含了幾個例子這表明上述:

+0

謝謝,看起來像一個很好的入門。 – BrianKE

相關問題