Ste*_*unn 4 silverlight wpf design-patterns mvvm viewmodel
我一直在WPF中做原型而不使用MVVM.现在它已经达到了这么大,我正在重构它以使用MVVM.
当我开始这个项目时,我直接跳了进来为很多事情创建了UserControls.
我现在在Views和ViewModels中破坏了东西.但是,我最终得到的包含UserControls的视图; UserControls绑定到模型中现在的对象.
那么,UserControls的概念现在已经死在MVVM中吗?我的意思是,在过去(WinForms,ASP.NET等),你有一个名为'Controls'的项目并重用它们.MVVM中的"视图"是否直接替代典型的UserControl?
UserControl
WPF中的A 只是ContentControl
带有一些调整的默认属性值.A ContentControl
只是一段内容,可以应用模板来定义其外观.
我做MVVM的方式是跳过中间人并将视图定义为DataTemplate
s.然后你只需要将你的VM粘贴到某个地方的WPF视觉树中,WPF就会用你的虚拟机渲染它DataTemplate
.例如:
<ContentControl Content="{Binding SomeViewModel}"/>
<ItemsControl ItemsSource="{Binding SomeViewModels}"/>
Run Code Online (Sandbox Code Playgroud)