私はC#WPF.NET3.5でUIプログラムを開発しています。メインウィンドウにボタンがあります。ユーザーがこのボタンをクリックすると、モードレスダイアログが作成されます。フォーカスをメインウィンドウに戻し、ボタンをもう一度クリックすると、別のモードレスダイアログが作成されます。ダイアログの順序は次のとおりです。
M-> C1-> C2-> C3
ここで、Mはメインウィンドウ、C1、C2、C3は順番に子ウィンドウです。C1はモードレス(Ownerプロパティが設定されていないWindow.Show()メソッドを使用して作成)であり、C2とC3はモーダル(Ownerプロパティが設定されているWindow.ShowDialog()メソッドを使用して作成)です。私が期待しているのは、ユーザーがMから複数のC1、C2、およびC3ダイアログを作成できる必要があるということです。
私の問題は次のとおりです。2つのC1ダイアログを作成すると、すべてが正常に機能します。Mと2つのC1ダイアログですべてのUI操作を実行できます。ただし、1つのC1ダイアログからC2およびC3ダイアログを作成すると、別のC1ダイアログおよびMダイアログでUI操作を実行できなくなります。ただし、C3ダイアログでUI操作を実行できます。
C2ダイアログには、DispatcherTimerを使用して更新されるプログレスバーが含まれています。進行中の操作が完了すると、DispatcherTimerのイベントハンドラーからC3ダイアログが起動します。
貴重なご支援をよろしくお願いいたします。