いくつかのステータス メッセージを表示できるスプラッシュ スクリーンを wpf アプリケーションに実装したいと考えていました。その方法についての良いチュートリアルを見つけました。
mvvm ツールキットを使用しています。私の App.xaml には、StartupUri が "View/Shell.xaml" に設定されています。これはすべてうまくいきます。ここで、StartupUri が「呼び出される」前にスプラッシュスクリーンを開始したいと考えています。
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' に値を指定すると、内部エラーで例外がスローされました: "{Locator} という名前のリソースが見つかりません
StartupUri を別の Window に変更すると、この Windows リソースも見つかりません。これは、startupobject を変更して app.run を自分で呼び出した場合にのみ発生します。スプラッシュスクリーンがなければ、すべてのリソースが問題なく見つかります。
それは私を夢中にさせているので、誰かがこれで私を助けてくれますか
前もって感謝します