Приложение не является объектом зависимости, поэтому не пытайтесь использовать то, что полагается на него.Потому что это просто не сработает.
Удалите загрузочный URL из app.xaml, который открывает главное окно.Вместо этого укажите на переопределение onstartup в вашем app.xaml.cs
<Application …
Startup="OnStartup">
И, конечно, ваш код в app.xaml.cs
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
// Your logic here
}
Поместите туда свою логикуи новое, покажите, какое бы окно вы ни выбрали.
Что будет выглядеть примерно так:
SplashScreen ss = null;
if ( your criteria goes here)
{
ss = new SplashScreen("whatever.bmp");
ss.Show();
}
MainWindow mw = new MainWindow();
if ( your criteria goes here )
{
ss.Close();
}
mw.Show();