我在我的项目中使用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;
}
}
当我将Contact类的实例设置为WPF PropertyGrid的Instance属性时,我看不到任何combox。但是如果我将我的对象设置为.Net PropertyGrid,我可以看到这个解决方案运行良好。
所以我认为这个PG不支持TypeConverts,所以我该怎么办?
答案 0 :(得分:0)
WPF propertygrid是否支持TypeConverters?在Winforms PG中完成的方式是您可以编写TypeConverter并将其作为属性添加到您的属性中。然后TypeConverter可以指定StandardValuesCollection。所以在你的对象中你有一个属性,它取一个值,你的转换器指定了可能值的集合。