6
標準のMessageBoxをアプリケーションのモーダルウィンドウとして表示しようとしていますが、モーダルではありません。 最初の呼び出しでは、以下のコードでは標準のMessageBoxを表示していますが、これはモーダルである必要があります。 2番目の呼び出しでは、メインウィンドウのディスパッチャを取得してもモーダルとして表示されません。WPFアプリケーションのModal MessageBox
Dispatcher disp = Application.Current.MainWindow.Dispatcher;
//First call, shown MODAL
if (this.messageService.ShowYesNo("Do you want to update the Word document, this will regenerate inspectiondata for document", "") == MessageBoxResult.Yes)
{
using (new WaitCursor())
{
_eventAggregator.GetEvent<ProgressBarRequestShow>().Publish("");
worker = new BackgroundWorker();
worker.DoWork += delegate(object s, DoWorkEventArgs args)
{
AITUpdateProgressDelegate update = new AITUpdateProgressDelegate(UpdateProgress);
this.docService.UpdateWorddocument(this.docService.GetCurrentDocumentFilePath, update);
};
worker.RunWorkerCompleted += delegate(object s, RunWorkerCompletedEventArgs args)
{
try
{
// Second call NOT MODAL
disp.Invoke((Action)delegate()
{
this.messageService.ShowInformation("Document generated, choose Open in Word in main toolbar to show document", "");
});
_eventAggregator.GetEvent<ProgressBarRequestHide>().Publish("");
}
finally
{
}
};
worker.RunWorkerAsync();
}
}
なぜカスタムメッセージボックスを作成するためにWPFウィンドウを使用しないのですか? –
私はもう少しドキュメントを勉強する必要があります。情報メッセージボックスはデフォルトでモーダルではなく、所有者を設定する必要があります – klashagelqvist