【问题标题】:Injection of ViewModels without a Service Locator在没有服务定位器的情况下注入 ViewModel
【发布时间】:2016-08-18 12:05:13
【问题描述】:

我个人认为 Service Locator 是一种反模式,但我发现在基于 XAML 的应用程序中看到每个视图都从中获取其 DataSource 的“ViewModelLocator”非常常见。

如何避免这种情况?

【问题讨论】:

    标签: .net wpf xaml mvvm win-universal-app


    【解决方案1】:

    您可以使用使用约定的 MVVM 框架,例如 Caliburn.Micro。在 Caliburn 中,您在应用启动时将 ViewModel 注册到 DI 容器。 然后,当您拥有一个 TestView 时,它会自动绑定到一个 TestViewModel(按名称约定,框架在 DI 容器中查找 ViewModel,获取/创建一个实例并绑定它。)。

    【讨论】:

      猜你喜欢
      • 2015-06-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-14
      • 2012-04-15
      相关资源
      最近更新 更多