wpf mvvm .. 访问 View 模型中的 View 元素

标签 wpf mvvm

我正处于学习 wpf/mvvm 的阶段,因为我知道在 vm 中我们声明命令并将它们绑定(bind)到查看元素的事件,而不是在代码隐藏文件中执行此操作......我没有得到的是,我们将如何访问 View 元素和事件论据。

最佳答案

您的 ViewModel 不会直接访问 View 中的元素。这个概念是 View 将绑定(bind)到 ViewModel,而不是相反。所以;您的 ViewModel 将通过属性中设置的值告诉 View 要显示什么。如果您的 View 需要显示某些内容,它将对提供此属性的属性进行数据绑定(bind)。

这些命令将由 ViewModel 保存,您也可以直接绑定(bind)它们。如果您需要命令来更新 View 的值,可以通过从命令中获取对必要 ViewModel 的引用来完成。 (持有命令的 ViewModel 可以例如在创建时将自己注入(inject)到命令中)。然后命令可以告诉 ViewModel 更新一些东西,这将通过数据绑定(bind)反射(reflect)在 View 中。

有关 MVVM 模式的一般介绍,您可以查看几天前提出的这个问题:Learning MVVM for WPF .

关于wpf mvvm .. 访问 View 模型中的 View 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2279037/

相关文章:

c# - 在WPF应用程序中以编程方式打开 'Set Associations'?

wpf - 如何在按钮的 CommandParam 中传递特定的 View 模型对象?

WPF Datagrid selecteditem = MVVM 中的 null

c# - 将 xaml 代码移至 View 模型类

wpf - 在服务上实现 INotifyCollectionChanged 或 INotifyPropertyChanged 可以吗?

c# - 动态数据网格,可选列

c# - WPF 数据网格中的错误

c# - c#中的嵌入式字体

wpf - 如何编辑WPF GridView并将其保存到数据库?

WPF 数据绑定(bind)、MVVM 和路由事件