2013-06-01 18 views
0

我有一個ListView,其中包含來自給定目錄的.jpg格式的所有圖像。它充滿使用下面的代碼隱藏代碼:WPF OpenDirectoryDialog爲了獲取和設置ListView項目的路徑來源

DirectoryInfo folder = new DirectoryInfo(Path.GetDirectoryName(Process.GetCurrentProcess().MainModule.FileName) + App.putanjaSlika); 
FileInfo[] images = folder.GetFiles("*.jpg"); 
for (int i = 0; i<images.Length; ++i) 
{ 
    FileInfo img = images[i]; 
    Thumbnails.Items.Add(new BitmapImage(new Uri(img.FullName))); 
} 

這不平凡的工作,但你可以看到,路徑幾乎是一成不變的。我需要的是某種BrowseDirectoryDialog,它可以讓我「打開」給定的目錄,並使用定位路徑作爲上述代碼第一行的參數。

我發現這個問題Open directory dialog我喜歡Ookii.Dialogs解決方案,但可能更多的解決方案在第二個答案下。然而,看到這個線程是如何3.5歲的,我想問一下是否有更好的解決方案出來,因爲我找不到任何線程。

回答

1

我在2011年發表了WPF該文件夾的瀏覽器對話框:

http://wpffolderbrowser.codeplex.com/

它是基於一個MSDN例子和完整的源代碼提供,讓您可以根據需要適應它。我喜歡它比鏈接文章中提到的解決方案更好,因爲它顯示了帶有Vista/Windows 7外觀的「新樣式」打開文件夾對話框,而不像WinForms對話框,它似乎與Windows 95中的相同。

+0

這幾乎是我在找的東西。真好。謝謝 :) – user2352164

1

不幸的是WPF沒有對話框。所以你必須使用Winforms。

+0

這總是讓我感到困擾。思想是WPF不應該有傳統的彈出式對話框(這是一個winforms方法)。這就是說,他們應該有一些類型的嵌入式控件可以做同樣的事情,所以你可以把它放在彈出屏幕或某種類型的滑塊上。 – tsells