gpt4 book ai didi

.net - 在没有服务定位器的情况下注入(inject) ViewModel

转载 作者:行者123 更新时间:2023-12-03 10:16:07 25 4
gpt4 key购买 nike

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

这是如何避免的?

最佳答案

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

关于.net - 在没有服务定位器的情况下注入(inject) ViewModel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36834805/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com