WPF禁用主窗口,而第二个窗口打开,直到它关闭

时间:2014-11-25 07:59:10

标签: c# wpf wpf-controls

我有一个带主窗口的WPF应用程序和从主窗口按钮打开的第二个窗口。我希望在第二个窗口作为visual studio中的“关于”窗口打开时禁用主窗口。

2 个答案:

答案 0 :(得分:36)

尝试使用此ShowDialog method代替Show,将第二个窗口打开为对话框。

  1. 你有一个带窗口的WPF项目。这个应用程序应该可以工作。

  2. 右键单击项目并添加新窗口。您将其命名为Window1.xaml

  3. 您现在会注意到Window1.xaml和Window1.xaml.cs已添加到您的项目中。 (窗口的类名是Window1,它位于.xaml.cs文件中,它来自Window;也是一个部分类)

  4. 打开Window1(Window1.xaml)的XAML文件并添加控件。像对待任何其他窗口一样对待它并编写代码。

  5. 现在在您的主窗口(第一个)中添加一个按钮,单击该按钮时应显示新创建的窗口。

  6. 对于Click处理程序中的那个,....

    var newWindow = new Window1();
    newWindow.ShowDialog();
    

    Window1应该是您的“关于”页面的设计。使用ShowDialog();调用它会禁用其他窗口,唯一的活动窗口将是您的页面。

答案 1 :(得分:2)

$query = $explode[0].echo ';'; ShowDialog()方法之间存在差异。 Show()使子窗口处于活动状态,并保持活动状态,直到关闭为止;但是,ShowDialog()方法会打开一个新窗口,并将其视为一个单独的实体。在这种情况下,每次单击都会启动一个新窗口。

例如

Show()