メインアプリケーションウィンドウがクリックされたときにモーダルWPFウィンドウにフォーカスする方法

StackOverflow https://stackoverflow.com/questions/1000588

  •  05-07-2019
  •  | 
  •  

質問

.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"

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top