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; }
}
プロパティグリッドのSelectedObjectフィールドとしてOuterタイプのオブジェクトを設定します。この問題は、OuterオブジェクトのInnerDataプロパティがnullに設定されている場合に発生します。InnerDataプロパティは「オプションの」データを表し、指定しないことは空のリストを指定することと同じではないため、Nullはこのプロパティの許容値と見なされます。理想的には、ユーザーが新しいリストのコンポーネントを指定してnullのInnerDataプロパティを実際の値に置き換え、既存のnull以外のInnerData値を変更し、既存のInnerData値をnullに置き換えることができるようにしたいと思います。
誰かがこれを実現する方法を知っていますか?