tabcontrol的绑定数据

时间:2016-05-14 14:45:16

标签: c# wpf mvvm binding tabcontrol

首先,我是MVVM模式和C#/ XAML开发的新手。很抱歉给您带来不便。

因此,目标是创建一个完整的应用程序,包括按钮,tabcontrol和使用绑定和命令,以正确地收集它们。

每个按钮代表一个特定的对象,它有自己的信息(名称,ID,序列号,......)。所有这些按钮都在窗口顶部的特定视图中表示。在这个窗口的底部,我需要显示一个表格,其中包含与按下的按钮关联的多个项目和内容。

这里的问题是表格。我需要在表格中显示被点击对象的信息,内部的内容可能因所有的tabitems而异。另外一件事是当按下一个按钮时,表格的视图完全改变并显示其他信息。

我的问题是:

  • 我是否需要为每个按钮/对象及其关联的viewModel创建一个模型?

  • 包含所有按钮的视图可以是与表格分开的视图,它们都在MainView中?

  • 我可以像滚动查看器一样表示表格内的数据,是否可以在点击时从模型中添加其他信息的新行?

我希望我的解释足以帮助我,所以这里是我的应用程序的示意图,显示了不同的上下文。 enter image description here enter image description here

感谢各位的帮助。

1 个答案:

答案 0 :(得分:0)

  
      
  • 我是否需要为每个按钮/对象及其关联的viewModel创建一个模型?
  •   

你可以双向前进。如果您的model与不同的API进行通信并要求您使用不同的contract,那么请使用不同的models。否则我会建议使用一个。关于ViewModel它也可以通过两种方式完成。我建议分离但是我没有找到任何有关应用程序本身大小的信息,所以这一切都取决于大小和关注分离。

  
      
  • 包含所有按钮的视图可以是与表格分开的视图,它们都在MainView中?
  •   

您仍需要root视图,因此所有内容都应位于同一视图中。我建议为每个UserControl创建一个新的TabWindows,然后只需collapse或根据调用的按钮命令将其设为visible

  
      
  • 我可以像滚动查看器一样表示表格内的数据吗?   当时,可以用模型中的其他信息添加新行   点击它?
  •   

您可以在ScrollViewer中的tabs中添加TabControl。我不太确定第二部分的问题是什么,但我建议使用ObservableCollectionItemsSource动态地将项目添加到数据表中。

有关MVVM模式及其应用程序的更多信息,请访问here