2010-12-08 191 views
1

衆所周知,WPF仍然不提供文件夾選擇對話框(除非WPF4有一個我錯過了)。在此期間,我使用System.Windows.Forms.FolderBrowserDialog。爲WPF選擇文件夾對話框,路徑輸入字段

不幸的是,這個對話框只有一個文件夾樹,OK,Cancel和一個可選的「Make New Folder」按鈕。可用性很差。特別是,當試圖選擇一個網絡文件夾時,這是非常糟糕的。選擇文件夾的唯一方法是擴展「網絡」基礎..在許多企業系統/網絡上,它將開始很長的延遲並最終產生一個無法接受的長列表。

我想要一個允許用戶在特定位置開始導航的文本輸入字段,例如特定的計算機/文件夾,例如在文件瀏覽對話框中可能的位置。

有沒有人做過這樣的事情?這是一種擴展標準System.Windows.Forms.FolderBrowserDialog的方法,還是我必須創建自己的?

謝謝。

回答

1

Vista Bridge在舊版操作系統上運行時,爲新的Vista對話框提供託管包裝,並提供後備支持。這些文件對話框優先選擇股票的WPF或WinForms的。

​​爲Windows 7功能提供託管包裝。

+0

這看起來很有前途。我下載了Windows API代碼包,發現CommonOpenFileDialog有一個IsFolderPicker屬性。如果設置,它應該作爲一個文件夾選取器。我懷疑我仍然必須有向後兼容的後備功能..但是,事情就是這樣。 – guesser 2010-12-20 16:07:34

0

我想你應該創建自己的,沒有默認文件夾對話框實現這樣的東西。如果我沒有錯,Java也不允許這種可能性。

我通常在可以手動寫入路徑的文本框附近創建「打開文件夾對話框」按鈕(當文件夾對話框按鈕用ok按鈕簡單地填充該文本框時),這是最簡單的方法。

應該創建你的類型的對話框,好的一面你至少可以把它賣掉,因爲它看起來不錯而且有幫助。或者,也許你可以在網上找到類似的東西(以前的付款方式)。另一件事,所有文件夾對話框都非常緩慢,至少在Windows XP上,可能是「不可能的」以減少這些延遲,你應該做一些搜索來避免這個問題(多線程對話,它在收集信息的同時提供可能性開始瀏覽目錄樹是我能想到的唯一事情)。

希望這將有助於

編輯: 也許這有某種效用的, http://www.ssware.com/fldrview.htm 它看起來很酷,但沒有你想要的所有功能,我認爲它不存在作爲你希望

相關問題