メインウィンドウをシングルトンにしたいのは、アプリ内の他のすべてのウィンドウからメインウィンドウに簡単にアクセスできるようにするためです。しかし、私はそれを実行させることができませんでした。これが私がしたことです。
いつものように、MainWindow請負業者をプライベートにしpublic static MainWindow Instance
、静的インスタンスを返すプロパティを作成しました。他の変更を加えずに実行すると、「利用可能なソースがありません」というエラーが発生しました。インターネットをグーグルで検索し、http://www.netframeworkdev.com/windows-presentation-foundation-wpf/xamlc-singleton-class-80578.shtmlで1つの関連トピックを見つけました。しかし、そこで提案されているように動作させることはできませんでした。MainWindow.xamlをから変更することを提案する人もいます
<Window x:Class="TestApp.MainWindow"
に
<Window x:Class="TestApp.MainWindow.Instance"
これは論理的に見えます。ただし、これを実行すると、大量のコンパイルエラーが発生しました(最初のエラーは、名前空間TestAppに「MainWindow」の定義がすでに含まれていることを示しています)。
シングルインスタンスアプリの作り方について、インターネット上でたくさんの記事を見つけました。私はこれを探していません。MainWindowをシングルトンにしたいだけです。私はWinFormアプリで何度もそれを行いました。