我想在我的wpf应用程序中实现一个启动画面,在那里我可以显示一些状态消息。我找到了一个关于如何做的好教程。WPF资源不会在SplashScreen实现后加载
我正在使用mvvm工具包。 我的App.xaml的StartupUri设置为“View/Shell.xaml”。这一切工作正常。现在我想在StartupUri被“调用”之前启动Splashscreen。
在App.xaml.cs我实现这样的主要方法:
[STAThread()]
static void Main()
{
Splasher.Splash = new IPA.Merlin.View.ViewSplashScreen();
Splasher.ShowSplash();
for (int i = 0; i < 1000; i++)
{
MessageListener.Instance.ReceiveMessage(string.Format("Load module {0}", i));
Thread.Sleep(1);
}
new App();
}
/// <summary>
///
/// </summary>
public App()
{
StartupUri = new System.Uri("View/Shell.xaml", UriKind.Relative);
Run();
}
对于此运行,我不得不在项目首选项的startupobject改变这种主要方法。
所以现在我的Splashscreen被调用并显示测试消息,并且在此App()被调用之后。 我得到以下错误:在'System.Windows.StaticResourceExtension'提供值抛出一个异常与内部错误:“名称{定位器}的资源无法找到
如果我将StartupUri更改为另一个窗口,此窗口资源还没有找到。 仅当我改变startupobject,然后调用app.run自己。如果不闪屏的所有资源都没有发现问题的occours。
谁能帮我这个,因为它让我疯了
在此先感谢
我想这一点,但OnStartup事件似乎并不火。我用断点检查了这个。我也尝试设置一个新的启动功能,但VS告诉我没有“Application_Startup”的定义。有任何想法吗? – StefanG 2013-04-04 12:02:17
您需要将此方法放在'App'类中,并确保您移除了静态'Main'方法,因为您的应用程序只能有一个入口点。 – 2013-04-04 16:32:39