我正在用 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 和两个 C1 对话框中执行所有 UI 操作。但是,一旦从一个 C1 对话框创建 C2 和 C3 对话框,我就无法在另一个 C1 对话框和 M 对话框中执行任何 UI 操作。但是,我可以在 C3 对话框中执行 UI 操作。
C2 对话框包含一个使用 DispatcherTimer 更新的进度条。正在进行的操作完成后,从 DispatcherTimer 的事件处理程序中启动 C3 对话框。
我预先感谢您的宝贵支持。