25.2.3 显示模态窗口和窗体
从WPF应用程序中显示模态窗体很简单。可以使用与在Windows窗体项目中相同的代码。例如,如果有一个名称为Form1的窗体类,可以使用下面的代码以模态的方式显示这个窗口:
- Form1 frm = new Form1();
- if (frm.ShowDialog() == System.Windows.Forms.DialogResult.OK)
- {
- MessageBox.Show("You clicked OK in a Windows Forms form.");
- }
您可能已注意到,Form.ShowDialog( )方法的工作方式和WPF的Windows.ShowDialog( )方法(在第8章中介绍过该方法)的工作方式稍微不同。Form.ShowDialog( )方法返回DialogResult枚举,而Windows.ShowDialog( )方法返回true、false或null。
相反的技巧-- 从窗体中显示一个WPF窗口-- 同样很容易。同样,可以简单地与Windows类的公有接口进行交互,其余的问题由WPF负责解决:
- Window1 win = new Window1();
- if (win.ShowDialog() == true)
- {
- MessageBox.Show("You clicked OK in a WPF window.");
- }