ユーザーが値を入力できるフィールドを持つウィンドウがありますが、メッセージボックスを表示して一部のフィールドが無効であることをユーザーに伝えると、ユーザーがメッセージボックスからウィンドウに変更できなくなります。
MessageBox を使用しているときに Window にアクセスできるようにするには、MessageBox をどのように作成すればよいですか? マルチスレッド化する必要がありますか?アプリケーションの残りの部分をロックしない MessageBox のようなオブジェクトを作成する方法はありますか?
コード:
string unfilled = @"The following fields are mandatory and are required to continue:";
bool invalid = false;
foreach(Field f in _view.FormFields) {
if(f.IsMandatory > 0 && !f.IsValid) {
unfilled += "\n" + f.LongDisplay;
foreach(string s in f.ErrorMessages) {
unfilled += "\n\t" + s;
}
invalid = true;
}
}
if(invalid) {
MessageBox.Show(unfilled, "Invalid Submission"); <-- locks up WPF application
return;
}