wpf - 如何以编程方式创建/填充关于 MVVM 的 View ?

标签 wpf mvvm mvvm-light

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

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

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

ViewModel 会负责创建它的 View 吗?如果不是,它将如何使用命令?

附言我正在使用 MVVM Light Toolkit

最佳答案

不,ViewModel 不负责创建其 View 。通常人们使用 XAML DataTemplates 将 ViewModel 对象映射到 UserControl。这被称为“ViewModel 优先”。
您也可以自己创建 View ,并手动注入(inject) ViewModel。这称为“先查看”。通常 ViewModel 首先似乎更受欢迎。

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

关于wpf - 如何以编程方式创建/填充关于 MVVM 的 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10271804/

相关文章:

c# - 在 C# 中处理属性更改的更好方法

MVVM 之外的 WPF 命令用法

c# - 命令绑定(bind)不起作用 - MVVM Light RelayCommand 和 XAML 问题

visual-studio - 在公司机器上取消阻止DLL。怎么样?

c# - AutomationElement 获取真实类型

wpf - 通过 ViewModel 绑定(bind)到 DependencyProperty 无效

C#/.NET : Creating Dynamic Visuals in C#

c# - 删除 DataGrid 中自动生成的行

C# WPF - 拖动并单击

wpf - 使用带有 MVVM 的 WPF 打开一个新对话框