2014-11-05 34 views
1

几天前我刚开始研究WPF和MVVM-Light。起初,我创建了一个单独的Windows桌面应用程序,现在我想创建一个包含多个页面的桌面应用程序。 我读this tutorial,我想我理解这个概念。在视图中使用DataTemplate是否在View和ViewModel之间创建耦合?

但我有一个问题。 MVVM-Light使用ViewModelLocator来避免在视图和视图模型之间建立强大的链接。但是在MainWindow.xaml中使用DataTemplate(关联view和viewModel)不违背这个原则吗?这是做到这一点的正确方法吗?

+0

欢迎来到StackOverflow!我试图通过提高你的问题的可读性和增加一些标签来帮助你。 – 2014-11-05 16:41:43

回答

0

很多人使用DataTemplate方法,没关系。另一个广泛使用的方法,在代码隐藏中将DataContext设置到ViewModel中,也会在它们之间创建一个“链接”。如果没有联系,就根本没有任何工作。

+0

我找到这篇文章:http://programmers.stackexchange.com/questions/120090/who-should-control-navigation-in-an-mvvm-application。 SonOfPirate似乎有另一种解决方案,在viewModel名称和视图名称中使用约定。但我太初学者完全理解他的解释 – Arnaud 2014-11-06 15:30:38

+0

蕾切尔是一个很好的来源。你的问题回答了吗? – 2014-11-06 15:33:03

+0

那么我明白,你可以在视图中使用dataTemplate,而不必去对付MVVM,但如果有人可以给我一个SonOfPirate在这个消息中解释的简单例子,那将是完美的;) – Arnaud 2014-11-07 08:43:09

相关问题