タイプ のオブジェクトの階層を表示するツリービューがありますCompany
。
Company
has (とりわけ) プロパティを持っていますBool? Checked
。各行のチェックボックスでその値を使用しています。子が選択されているかどうかをチェックボックスに (また) 示したいのGetter
ですが、Checked
プロパティのビルド方法がわかりません。
問題は、値が現在のオブジェクトの値だけでなく、子の結合された値も表すことだと思います。それは解決可能ですか、それとも再考する必要がありますか?
これは私が得たい結果です:
- Checked = True (アイテム自体がチェックされている場合)
- Checked = False (アイテム自体がチェックされておらず、すべての子/孫がチェックされていない場合)
- Checked = Null (アイテム自体がチェックされておらず、いくつかの子/孫がチェックされている場合)
- Checked = Null (アイテム自体がチェックされておらず、すべての子/孫がチェックされている場合)
クラス会社:
public class Company
{
public Company()
{
this.childs = new List<Company>();
}
public int ID { get; set; }
public string Title { get; set; }
public List<Company> childs { get; set; }
public int NrOfChilds { get { return childs.Count; } }
public bool Checked {
get { ??? }
set { this.Checked = value; }
}