メインアプリケーションウィンドウがクリックされたときにモーダルWPFウィンドウにフォーカスする方法
質問
.ShowDialog()で新しいウィンドウを起動するMainApplication Windowがあるため、モーダルになります。
UploadWindow uploadWindow = new UploadWindow();
uploadWindow.ShowDialog();
現在、ユーザーはこのウィンドウを開いたままにしていることが多く、他のウィンドウの下では失われる可能性があります。 MainApplicationをクリックすると、エラーのようなビープ音が鳴り、対話することができないため、モーダルウィンドウは期待どおりに適切にブロックされますが、モーダルウィンドウがこの時点でフォーカスされていて、ユーザーにそれが表示されていると便利ですまだ開いています。
現在、MainApplicationウィンドウがロックされているように見えます。
解決
ダイアログの所有者を設定してみてください:
var uploadWindow = new UploadWindow();
uploadWindow.Owner = this;
uploadWindow.ShowDialog();
他のヒント
問題があります。これは使用できません。同じ問題がある場合は、使用できます
Window.GetWindow(this)
MVVMを使用しているため、GUIからコードを作成していません。これを使用しました。
var uploadWindow = new UploadWindow();
uploadWindow.Owner = Application.Current.MainWindow;
uploadWindow.ShowDialog();
上記のすべての解決策を試しても、同じ問題に直面している場合 次に、テストおよび検証済みのソリューションを示します ウィンドウxamlに移動して追加
ResizeMode =" NoResize"
所属していません StackOverflow