最近我正在使用MVVM概念开发我的第一个项目(我使用WPF)。在开始编写代码之前,我已经阅读了很多关于MVVM的教程(例如著名的 J.Smith 的教程)。在我开始编码之前,我读过的所有内容都很清楚......
问题很简单:在视图层我有一个带有TextBox
es 的表单。比方说几个TextBox
es,即:Name , Surname , Phone number。当用户填写所有这些并单击OK -按钮时,我想将新人(具有指定的个人详细信息)添加到我的本地数据库(我使用Entity Framework作为ORM)。
为此,我需要编写如下内容:
<Button Name="MyButton" Command="MyRelayCommandWhichNeedsAllOfTheTextboxes" Content="OK" />
使用CommandParameter
我可以将一个对象从View传递到ViewModel。有很多文本框,所以这可能不是一个好主意。
从XAML我可以分配给CommandParameter
需要由用户填写的整个表单。但是,在ViewModel中,我需要知道所有文本框的名称。MVVM 的主要假设是所有层(视图、视图模型和模型)都必须是独立的。
最好的解决方案是什么?如何将输入数据从表单传递到ViewModel?