首先,我是MVVM模式和C#/ XAML开发的新手。很抱歉给您带来不便。
因此,目标是创建一个完整的应用程序,包括按钮,tabcontrol和使用绑定和命令,以正确地收集它们。
每个按钮代表一个特定的对象,它有自己的信息(名称,ID,序列号,......)。所有这些按钮都在窗口顶部的特定视图中表示。在这个窗口的底部,我需要显示一个表格,其中包含与按下的按钮关联的多个项目和内容。
这里的问题是表格。我需要在表格中显示被点击对象的信息,内部的内容可能因所有的tabitems而异。另外一件事是当按下一个按钮时,表格的视图完全改变并显示其他信息。
我的问题是:
我是否需要为每个按钮/对象及其关联的viewModel创建一个模型?
包含所有按钮的视图可以是与表格分开的视图,它们都在MainView中?
我可以像滚动查看器一样表示表格内的数据,是否可以在点击时从模型中添加其他信息的新行?
我希望我的解释足以帮助我,所以这里是我的应用程序的示意图,显示了不同的上下文。 enter image description here enter image description here
感谢各位的帮助。
答案 0 :(得分:0)
- 我是否需要为每个按钮/对象及其关联的viewModel创建一个模型?
你可以双向前进。如果您的model
与不同的API
进行通信并要求您使用不同的contract
,那么请使用不同的models
。否则我会建议使用一个。关于ViewModel
它也可以通过两种方式完成。我建议分离但是我没有找到任何有关应用程序本身大小的信息,所以这一切都取决于大小和关注分离。
- 包含所有按钮的视图可以是与表格分开的视图,它们都在MainView中?
您仍需要root视图,因此所有内容都应位于同一视图中。我建议为每个UserControl
创建一个新的TabWindows
,然后只需collapse
或根据调用的按钮命令将其设为visible
。
- 我可以像滚动查看器一样表示表格内的数据吗? 当时,可以用模型中的其他信息添加新行 点击它?
您可以在ScrollViewer
中的tabs
中添加TabControl
。我不太确定第二部分的问题是什么,但我建议使用ObservableCollection
和ItemsSource
动态地将项目添加到数据表中。
有关MVVM模式及其应用程序的更多信息,请访问here。