2011-04-20 46 views
1

我正在使用Microsoft.Win32.SaveFileDialog在WPF应用程序中显示保存文件对话框。我想显示一个自定义窗口,或者在提示替换文件时使用额外的按钮来给用户选择追加而不是替换。覆盖SaveFileDialog中的替换提示

我知道这是可能的,因为Microsoft Word会这样做。我怎样才能在WPF中实现类似的功能?我不反对使用DllImport,如果这是需要的...

回答

3

自定义shell对话框是一件棘手的事情,但它变得越来越不再支持Windows XP。 Vista和之后对这些对话框进行了大规模的重新设计,其中一个好处是定制对话框变得更容易。尽管来自本地代码。然而,Windows API Code Pack对于IFileDialogCustomize COM接口具有非常体面的托管包装。您可以在Shell \ CommonFileDialogs子目录中找到它们。

+0

如果您想定制xp对话框,您需要一个资源模板,从托管代码中实现起来有点困难。 – 2011-04-20 05:57:13

+0

正如你可能可以告诉的那样,我对死亡和临终技术不太感兴趣...... – Soumya 2011-04-20 14:35:12

0

下面是关于如何扩展的OpenFileDialog和SaveFileDialog的文章:

http://www.codeproject.com/KB/dialog/CustomizeFileDialog.aspx

希望这可以让你在正确的轨道上。

+0

这个示例是否也适用于Windows Vista/7中的新对话框?在测试中,它弹出恼人的旧式文件对话框。如果支持,我真的很喜欢新版本。 – Soumya 2011-04-20 14:39:26

+0

我不确定。你的问题让我想起了那篇文章,所以我为你搜索了它。 – Pedery 2011-04-21 02:47:32