2011-04-20 48 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