如何建立结构

时间:2012-11-21 10:33:46

标签: c# wpf mvvm

我对我的项目有一个“结构”问题。假设我想要这样做 http://msdn.microsoft.com/de-de/library/vstudio/ff407126.aspx,带有“项目”的DataGrid,每个项目都有几个任务。

我已经有一个MainWindowViewModel + MainWindowView,它显示带有标题行的DataGrid。

对于每个项目,我都有一个包含多个任务对象的Project对象。

我现在如何将DataGrid拆分为多个ViewModel / Views?

问题是,稍后我将有不同类型的任务,并且网格的布局仅对此任务略有不同。 (例如没有进度条或不同的颜色/文本绑定

我是否需要每个项目的SchedulerViewModel(+ View)和ProjectViewModel(+ view)以及每个任务的TaskViewModel(+ View)?

1 个答案:

答案 0 :(得分:1)

您需要使用templating。 DataGrid的ItemsSource属性应指向您的Project对象集合。然后,您需要为DataGrid的ItemTemplate属性分配一个模板,描述“Project”对象的外观。很可能“Project”行的模板将是某种ItemContainer;这个ItemContainer将把它自己的ItemsSource属性设置为项目的Tasks集合,而后者又拥有它自己的项目模板,通过它你可以描述任务的外观。