如何以编程方式创建/填充尊重MVVM的视图?

时间:2012-04-22 20:23:53

标签: wpf mvvm mvvm-light

在我的WPF应用程序中,我有一个由三个视图(自定义UserControls)组成的MainView。我的视图布局已完成(在XAML中),但现在我必须读取配置文件并填充我的视图。当我读取配置文件时,应该创建模型对象以及视图项。

更复杂的视图(让我们称之为View1)将包含由按类别分隔的一组按钮的选项卡(以StackPanels + GroupBox排列)。

由于视图的主要组件是触发模型操作的按钮,我的问题是:如何使用MVVM实现这一点?

ViewModel会负责创建它的视图吗?如果没有,它将如何使用命令?

P.S。我正在使用MVVM Light Toolkit

1 个答案:

答案 0 :(得分:3)

不,ViewModel不负责创建其视图。通常人们使用XAML DataTemplates将ViewModel对象映射到UserControl。这被称为“ViewModel first”。 您也可以自己创建视图,并手动注入ViewModels。这被称为“查看第一”。通常,ViewModel首先看起来更受欢迎。

我不确定按钮的问题是什么。您只需在ViewModel中公开RelayCommands,然后在视图中将按钮绑定到它们。