2012-04-05 120 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