2012-04-05 89 views
0

我有選擇喜歡的文件擴展名的組合框的「影像,格式(* .png,* .JPG)」。我想從字典鍵/值對中獲取數據。我爲第一部分添加了字符串,例如「圖像」和擴展名,我添加了一個列表,因爲可以有多個字符串。我使用這些數據顯示SaveFileDialog或OpenFileDialog。如何將這些擴展名用作SaveFileDialog的過濾器?你能否提供幫助?WPF組合框的鍵/值字典

ExtensionCollection = new Dictionary<string, IList<String>>(); 
ExtensionTypeCollecction = new List<String>(); 
Extensions = new List<IList<String>>(); 
perExtension = new List<String>(); 
perExtension.Add("*.png"); 
perExtension.Add("*.jpg"); 
Extensions.Add(perExtension); 
ExtensionTypeCollecction.Add("Images"); 
ExtensionCollection.Add("Images", perExtension); 

在此先感謝

回答

0

這是否幫助?

foreach (string ext in Dictionary["images"]) 
    { 
     Debug.WriteLine(ext); 
    } 
1

我認爲這是你以後:

var d = new Dictionary<string, IList<string>>(); 
d.Add("Images", new List<string>{ "*.png", "*.jpg" }); 

var key = "Images"; 
var extensions = d["Images"]; 

var filter = key + "|" + string.Join(";", extensions.ToArray()); 

filter = "Images|*.png;*.jpg" 

,或者你可以做到這一點

var extString = string.Join(";", extensions.ToArray()); 
var filter = key +" (" + extString + ")|" + extString; 

導致

filter = "Images (*.png;*.jpg)|*.png;*.jpg" 

,如果需要,你當然可以添加常用"|All files (*.*)|(*.*)"過濾選項。

+0

感謝您的回覆,我會盡力 – bilgestackoverflow 2012-04-05 22:30:11