0
我必須我結合的容器與複雜的對象的陣列的PropertyGrid控件:PropertyGrid控件+定製的對象數組
// Collection
public class ParametersCollection
{
private ParameterObject [] _parameters = null;
[Category("SubReportParams")]
public ParameterObject [] Parameters
{
get { return _parameters; }
set { _parameters = value; }
}
public ParametersCollection()
{
// _parameters initialization here...
}
}
// Complex object
public class ParameterObject
{
private string _name = "";
private string _value = "";
[Category("Information"), DisplayName("Name")]
public string Name
{
get { return _name; }
set { _name = value; }
}
[Category("Information"), DisplayName("Value")]
public string Value
{
get { return _value; }
set { _value = value; }
}
}
一切正常,除了兩種情況:
例如,如果數組_parameters只有2個項目,則默認數組大小爲4,而索引2和3的項目爲空值。 PropertyGrid將這些項目顯示爲空字段。如何強制PropertyGrid忽略這些字段並且不顯示它?
_parameters變量是一個數組類型,所以_parameters項顯示其索引從0到n。是否有一個posibillity來顯示他們的名字從屬性ParamObject.Name而不是他們的數組中的索引?
感謝您的回覆。在第一種情況下,「return _parameters.Where(p => p!= null).ToArray();」是正確的提示:-)他解決第二個問題是使用ICustomTypeDescriptor。 – 2013-03-26 06:33:32