我是.net和MVVM designmodel的新手。我现在卡住了,因为在我的一个视图的代码隐藏文件中,我需要将相应的模型作为对象。这里的关系如何?是否有可能,是否是“正确的做法”?MVVM从视图访问模型
5
A
回答
5
视图应该访问包装模型的ViewModel,从视图中隐藏它。如果您需要从视图中访问模型的属性,请使用ViewModel将它们公开为View可以绑定到的属性。
1
ViewModel应该完全不知道该视图。 View只能使用DataBinding,所以不知道模型或ViewModel。
如果您需要与视图交互,则全部必须通过DataBinding。只有在特殊情况下,您应该诉诸代码隐藏。
因此有一个财产上的ViewModel和绑定它的视图。
+0
他想从视图访问模型,而不是相反。 – 2010-11-26 17:03:53
0
public partial class MyView : Window
{
private MyViewModel aModel;
public MyView()
{
InitializeComponent();
aModel = new MyViewModel();
this.DataContext = aModel();
}
现在视图将更改其绑定到ViewModel的公共属性的控件数据绑定。
1
MVVM不禁止View直接访问模型。这是MVVM社区中常见的误解。
您的ViewModel可以公开底层模型,以便View可以直接访问该模型。
装订:
{Binding Model.Title}
代码背后:
((MyViewModel)DataContext).Title
的WPF Application Framework (WAF)的视图模型(EmailClient)示例应用程序显示了如何从视图访问模型。
相关问题
- 1. WPF MVVM:从视图模型访问列表视图对象
- 2. 访问视图从视图模型WPF MVVM
- 3. WPF MVVM:从视图模型
- 4. MVVM视图模型和模型问题
- 5. 从集合中访问MVVM父视图模型
- 6. 从视图访问模型时出错
- 7. 从视图模型访问Unity容器
- 8. 如何从视图访问模型?
- 9. backbone.js /从模型访问视图
- 10. 从部分视图访问父模型
- 11. 从视图模型在MVVM架构
- 12. MVVM Datagrid从视图和模型更新
- 13. 在MVVM Light中访问其他视图模型中的属性
- 14. MVVM视图模型参考视图
- 15. MVVM - 关于模型和视图模型的几个问题
- 16. 关于视图和视图模型的Silverlight MVVM问题
- 17. 访问视图模型属性视图模型
- 18. MVVM和从模型到视图模型的隐式转换
- 19. 从另一个视图访问一个视图模型
- 20. MVVM模式视图的特定模型?
- 21. 从现有视图模型访问视图模型的正确方法
- 22. MVVM实践访问整个视图
- 23. 从视图模型访问视觉子元素wpf
- 24. MVC访问的视图模型在
- 25. 部分视图无法访问模型
- 26. 在部分视图中访问模型
- 27. WPF访问父视图模型
- 28. ASP.net MVC - 视图如何访问模型?
- 29. 访问视图模型的的ObservableCollection
- 30. Backbone.js中的访问模型视图
好的,我觉得答案就是这样的。但我仍然有一些问题。 当我点击类型A的视图1我希望它保存其viewmodel中的相应模型。当我点击类型A的视图2时,我也希望它在相同的viewmodel中保存其对应的模型。到目前为止,我只知道如何自我保存(视图)而不是模型:/ – Andreas 2010-11-26 17:37:39