.net 不带服务定位器的ViewModels注入
我个人认为服务定位器是一种反模式,但我发现在基于XAML的应用程序中,很常见看到一个“ViewModelLocator”,每个视图都从中获取其数据源.net 不带服务定位器的ViewModels注入,.net,wpf,xaml,mvvm,win-universal-app,.net,Wpf,Xaml,Mvvm,Win Universal App,我个人认为服务定位器是一种反模式,但我发现在基于XAML的应用程序中,很常见看到一个“ViewModelLocator”,每个视图都从中获取其数据源 如何避免这种情况?您可以使用使用约定的MVVM框架,如Caliburn.Micro。在Caliburn中,当应用程序启动时,将ViewModel注册到DI容器。 然后,当您拥有一个TestView时,它会自动绑定到一个TestViewModel(按名称约定,框架会在DI容器中查找ViewModel,获取/创建一个实例并绑定它)
如何避免这种情况?您可以使用使用约定的MVVM框架,如Caliburn.Micro。在Caliburn中,当应用程序启动时,将ViewModel注册到DI容器。 然后,当您拥有一个TestView时,它会自动绑定到一个TestViewModel(按名称约定,框架会在DI容器中查找ViewModel,获取/创建一个实例并绑定它)