深入探讨WPF对话框使用技巧

开发 开发工具
WPF对话框的实现技巧不是说通过一片文章的解读就能完全了解掌握的。我们还需要通过不断的实践去巩固我们所学到的书面知识。

WPF开发工具的应用帮助我们实现了许多功能需求。那么如何正确的应用WPF中各种控件,是掌握这一工具的真理所在。在WPF中,系统定义的WPF对话框(Dialog)有三种:#t#

(1)Microsoft.Win32.OpenFileDialog

(2)Microsoft.Win32.SaveFileDialog

(3)System.Windows.Controls.PrintDialog

先看看前面两种WPF对话框的层次继承关系:

System.Object

Microsoft.Win32.CommonDialog

Microsoft.Win32.FileDialog

Microsoft.Win32.OpenFileDialog

Microsoft.Win32.SaveFileDialog

我们看到,这两种对话框均位于Microsoft.Win32命名空间中,它们均继承自Microsoft.Win32.FileDialog。

(1)OpenFileDialog:
OpenFileDialog有一种公共事件:FileOk(当用户选择文件名,点击打开按钮时发生)

OpenFileDialog有以下几种公共方法:

OpenFile():打开单个文件

OpenFiles():打开多个文件

Reset():重置

ShowDialog():显示对话框

OpenFileDialog的公共属性有:
.AddExtension,
.CheckFileExists,
.CheckPathExists,
.DefaultExt,
.DereferenceLinks,
.FileName,
.FileNames,
.Filter,
.FilterIndex,
.InitialDirectory,
.Multiselect,
.ReadOnlyChecked,
.RestoreDirectory,
.SafeFileName,
.SafeFileNames,
.ShowReadOnly,
.Tag,
.Title,
.ValidateNames

其中,我们最常用的WPF对话框有: FileName, FileNames, Filter, FilterIndex, DefaultExt,InitialDirectory等。

(2) SaveFileDialog:

与OpenFileDialog类似,SaveFileDialog公共方法:
OpenFile()
Reset()
ShowDialog()

公共属性:
.AddExtension,
.CheckFileExists,
.CheckPathExists,
.CreatePrompt,
.DefaultExt,
.DereferenceLinks,
.FileName,
.FileNames,
.Filter,
.FilterIndex,
.InitialDirectory,
.OverwritePrompt,
.RestoreDirectory,
.SafeFileName,
.SafeFileNames,
.Tag,
.Title,
.ValidateNames

说明:在WPF中的Microsoft.Win32.OpenFileDialog,Microsoft.Win32.SaveFileDialog与在WinForm中的System.Windows.Forms.OpenFileDialog, System.Windows.Forms.SaveFileDialog用法上基本上一样,但前者由于WPF的限制,无法在Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE下使用。

再看看看PrintDialog:

(3)PrintDialog:

看看它的继承关系:
System.Object
System.Windows.Controls.PrintDialog

WPF对话框需要注意的是:不要将System.Windows.Controls.PrintDialog与System.Windows.Forms.PrintDialog混淆了,后者用于WinForm应用程序中。System.Windows.Controls.PrintDialog则用于Windows Presentation Foundation (WPF)应用程序中。

责任编辑:曹凯 来源: diybl.com
相关推荐

2009-12-25 14:18:03

WPF依赖属性

2009-12-23 16:13:00

WPF Attache

2009-12-25 10:20:28

WPF窗口

2009-12-23 16:27:49

WPF UI自动化模型

2009-12-28 13:47:35

WPF对话框

2009-12-28 14:32:31

WPF窗体对话框

2010-01-28 16:55:26

Android对话框

2009-12-11 15:35:50

PHP弹出对话框

2011-05-20 16:49:21

VB.NET

2023-11-22 13:13:54

多线程死锁

2011-07-01 11:33:00

Qt 模态 非模态

2010-07-21 09:38:15

PHP缓存技术

2010-11-22 14:18:32

MySQL锁机制

2024-04-01 13:05:13

C++接口类开发

2021-05-17 05:36:02

CSS 文字动画技巧

2009-11-20 17:17:08

Oracle函数索引

2010-01-22 16:27:19

VB.NET关于对话框

2011-02-25 09:23:00

Java类加载器

2010-03-05 13:44:00

Python序列

2009-08-27 11:27:58

foreach语句C# foreach语
点赞
收藏

51CTO技术栈公众号