有人可以快速总结一下ViewModelLocator是什么,它是如何工作的,以及与DataTemplates相比使用它的优缺点是什么?
我曾尝试在Google上查找信息,但似乎有许多不同的实现,并没有关于它是什么以及使用它的优点/缺点的严格列表.
我非常熟悉 ASP.NET Core 和开箱即用的依赖注入支持。控制器可以通过在其构造函数中添加参数来要求依赖项。如何在 WPF UserControls 中实现依赖关系?我尝试向构造函数添加一个参数,但这不起作用。我喜欢 IOC 的概念,并且更愿意将其引入 WPF。
我有一个类来处理我的应用程序的本地化.我的目标是该类可以在整个应用程序中使用,因此我将其设置为静态.这允许我在我的应用程序的任何地方调用下面的代码.
Localizer.GetString(/* Key to localize */)
Run Code Online (Sandbox Code Playgroud)
该方法使用Localizer类中的几个字段.为确保设置这些字段,Init添加了一个方法来初始化Localizer.如果我的类的用户忘记调用Init例如应用程序的启动,则会发生异常,因为未设置字段.
我正在考虑的一个解决方案是使Localizer类不是静态的,添加一个构造函数来设置字段并static class在我的应用程序中的全局中初始化类,如下所示:
public static class Globals
{
public static Localizer Localize = new Localizer(/* Field arguments here */);
}
Run Code Online (Sandbox Code Playgroud)
现在我不确定最好的方法是什么.或
Init在使用该类之前调用.还有一点需要注意:用户无权访问该类的来源.