我正在使用 PropertyGrid 类来编辑我的应用程序中的对象。这些是相关的类(或者更确切地说,是它们的简化):
public class Inner
{
public int A { get; set; }
public string B { get; set; }
}
public class Outer
{
public List<Inner> InnerData { get; set; }
public int Id { get; set; }
}
我将设置一个 Outer 类型的对象作为我的属性网格的 SelectedObject 字段。当 Outer 对象的 InnerData 属性设置为 null 时,就会出现问题。Null 被认为是此属性的可接受值,因为 InnerData 属性表示“可选”数据,并且不指定它与指定空列表不同。理想情况下,我希望用户能够通过指定新列表的组件、修改现有的非空 InnerData 值并将现有的 InnerData 值替换为空来将空 InnerData 属性替换为实际值。
有人知道如何做到这一点吗?