【发布时间】:2016-08-18 12:05:13
【问题描述】:
我个人认为 Service Locator 是一种反模式,但我发现在基于 XAML 的应用程序中看到每个视图都从中获取其 DataSource 的“ViewModelLocator”非常常见。
如何避免这种情况?
【问题讨论】:
标签: .net wpf xaml mvvm win-universal-app
我个人认为 Service Locator 是一种反模式,但我发现在基于 XAML 的应用程序中看到每个视图都从中获取其 DataSource 的“ViewModelLocator”非常常见。
如何避免这种情况?
【问题讨论】:
标签: .net wpf xaml mvvm win-universal-app
您可以使用使用约定的 MVVM 框架,例如 Caliburn.Micro。在 Caliburn 中,您在应用启动时将 ViewModel 注册到 DI 容器。 然后,当您拥有一个 TestView 时,它会自动绑定到一个 TestViewModel(按名称约定,框架在 DI 容器中查找 ViewModel,获取/创建一个实例并绑定它。)。
【讨论】: