我有一个WPF应用程序。在App.xaml.cs文件中我有这个
public static App Instance
{
get
{
return App.Current as App;
}
}
我使用的是MVVM LightToolkit,之后我安装了TimePunchWPFLibrary。调整一下,TimePunch拥有我需要的所有MVVM,所以我使用NuGet删除了MVVM。现在由于某种原因,我将Instance属性始终作为null。这是为什么?好吧,我已经调试过,从现在开始看到,App.Current属性不是来自App类型,而是XamlGeneratedNamespace.GeneratedApplication。谁能告诉我为什么?
P.S。我不确定删除MVVM Light Toolkit是否可以,但它同时发生。
更新:我已经弄明白了!问题是App.xaml中缺少我的x:Class定义。这导致App.xaml.cs的启动代码没有被执行,并且应用程序正在生成,就像一个虚拟应用程序。
答案 0 :(得分:0)
这对你有用吗?我在WPF应用程序中使用它。
Application.Current
来自Microsoft:
Application是一个per-AppDomain单例类型,它实现静态Current属性,以便为当前AppDomain的Application实例提供共享访问。此设计可确保Application管理的状态(包括共享资源和状态)可从单个共享位置获得。此属性是线程安全的,可从任何线程获得。