本帖最后由 张伟86 于 2013-5-4 15:01 编辑
1、首先,调用ShowDialog()函数后,它所对应创建的Dialog框体在执行结束时就会自动调用自身Close()函数进行对话框销毁操作。
2、如果给ShowDialog()赋值,仍然是被创建的Dialog调用自身Close()函数关闭窗口。
3、两者不同的是,为ShowDialog()赋值,可以获取Dialog在调用时的按钮操作结果,帮助我们判断下一步该做什么事情。
4、ShowDialog()的其他用法和Winform下状态都是一样的,唯一不一样的就是WPF里DialogResult的类型是bool?,也就是Nullable<bool>,而不是winform里那个枚举。
bool?已经可以表示三种返回状态了——true、false、null。根据这3种状态可以有效帮助我们判断下一步该做什么事情。
例如 :- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Windows;
- using System.Windows.Controls;
- using System.Windows.Data;
- using System.Windows.Documents;
- using System.Windows.Input;
- using System.Windows.Media;
- using System.Windows.Media.Imaging;
- using System.Windows.Navigation;
- using System.Windows.Shapes;
- using Microsoft.Win32;
- namespace WpfApplication1
- {
- /// <summary>
- /// Window1.xaml 的交互逻辑
- /// </summary>
- public partial class Window1 : Window
- {
- public Window1()
- {
- InitializeComponent();
-
- OpenFileDialog openFileDialog1 = new OpenFileDialog();
- bool? result = openFileDialog1.ShowDialog();
- if (result == true)
- {
- MessageBox.Show("true");
- }
- else if (result == false)
- {
- MessageBox.Show("CANCEL");
- }
- }
- }
- }
复制代码 |