2016-05-14 77 views
0

首先,我是MVVM模式和C#/ XAML開發的新手。對不便之處感到抱歉。tabcontrol的綁定數據

所以我們的目標是創建一個完整的應用程序,包括按鈕,tabcontrol和使用綁定和命令來正確地收集它們。

每個按鈕代表一個具有自己的信息(名稱,ID,序列號......)的特定對象。所有這些按鈕都在窗口頂部的特定視圖中顯示。在這個窗口的底部,我需要顯示一個表格,其中包含與按鈕關聯的多個項目和內容。

這裏的問題是表格。我需要在表格內顯示被點擊對象的信息,並且對於所有的tabitems裏面的內容可能會有所不同。還有一件事情是當按下一個按鈕時,表格的視圖完全改變並顯示其他信息。

我的問題是:

  • 我是否需要爲我的每一個按鈕/對象的一個​​模型和視圖模型相關聯的呢?

  • 包含所有按鈕的視圖可以是與表格分開的視圖,它們都將在MainView中?

  • 我是否可以像滾動查看器一樣在表格中表示數據,並且在點擊它時是否可以從模型中添加新行以及其他信息?

我希望我的解釋足以幫助所以這裏是我的應用程序顯示不同的上下文的示意圖。 enter image description here enter image description here

感謝大家的幫助。

回答

0
  • 我是否需要爲我的每一個按鈕/對象的一個​​模型和視圖模型相關聯的呢?

你可以兩種方式。如果您的model與不同的API通信,並要求您使用不同的contract,那麼是使用不同的models。否則,我會建議使用一個。關於ViewModel它也取決於你可以通過兩種方式完成。我會建議分離,但就問題而言,我沒有找到關於應用程序本身大小的任何信息,所以這一切都取決於分區的大小和關注。

  • 包括所有的按鈕可以是從表和它們兩者都將在一個的MainView分離視圖的視圖?

您仍然需要根視圖,所以一切都應該在相同的視圖。我可以建議爲TabWindows中的每一個創建一個新的UserControl,然後根據調用的按鈕命令簡單地僅爲collapse或使其爲visible

  • 我能代表表裏面的數據就像一個ScrollViewer中,是它
    可以從模型王氏其它信息添加新行時
    一下就可以了?

可以在TabControl添加ScrollViewer到每個tabs的。我不太確定第二部分的問題是什麼,但我建議使用ObservableCollectionItemsSource來動態地將項目添加到您的數據表中。

有關MVVM模式及其應用的更多信息,請參閱here