我在我的项目中使用 WPF PropertyGrid (http://www.codeplex.com/wpg)。 但是我在使用这个组件时遇到了一些问题。
1) 我可以在 ComboBox 中显示我的 IList 集合。但我无法检索选定的值。我怎样才能得到选定的值?
2) 枚举自动显示在组合框中,但我无法像#1 那样检索选定的值。
你能帮帮我吗?
这是我的收藏品
public class Contact {
// Other properties
[TypeConverter(typeof(MyConverter))]
public string Cities
{
get;
set;
}
}
这是我的转换器类
class MyConverter : TypeConverter
{
public override bool
GetStandardValuesSupported(ITypeDescriptorContext context)
{
return true;
}
public override StandardValuesCollection
GetStandardValues(ITypeDescriptorContext context)
{
List<string> list = new List<string>();
list.Add("Istanbul");
list.Add("Ankara");
list.Add("Izmir");
StandardValuesCollection cols = new
StandardValuesCollection(list);
return cols;
}
}
当我将联系人类的实例设置为 WPF PropertyGrid 的实例属性时,我看不到任何组合框。但是,如果我将我的对象设置为 .Net PropertyGrid,我可以看到这个解决方案运行良好。
所以我认为这个 PG 不支持 TypeConverts,所以我该怎么办?
请您参考如下方法:
WPF propertygrid 是否支持类型转换器?在 Winforms PG 中完成的方式是您可以编写一个 TypeConverter 并将其作为属性添加到您的属性中。然后 TypeConverter 可以指定 StandardValuesCollection。因此,在您的对象中,您拥有采用一个值的属性,并且您的转换器指定了可能值的集合。
