0

AとBの2種類ある場合

class A 
{
    public string Name { get; set; }
    public List<B> Children { get; set; }
}

class B
{
    public string Name { get; set; }
    public A Parent { get; set; }
}

私のビューモデルでは、List<A> Items;

グリッドビューをバインドしたいので、イベントBの行が1つあり、A.Nameたとえば

A.Name       B.Name
  A1           B1
  A1           B2
  A1           B3
  A2           B1
  A3         {NULL}

ただし、A3の場合と同様に、List<B> Childrenが空の場合でも、Aの行を表示したいと思います。

私が考えることができる唯一のことは、3番目のタイプを持っていることです。たとえば、2つの文字列を含むCを作成し、それらのリストを作成してそれにバインドするコードを記述します。もっと良い方法があることを望んでいました。

Items.SelectMany(a => a.B);使ってから使えると思っていたのですParent.Nameが、子供が空のAアイテムは含まれていません。

ありがとう

4

1 に答える 1

0

本当にDataGridが必要ですか? 階層的なことをしているように見えるので、ツリービューを使用するか、正確に何をしたいですか...私はあなたを理解できないと思うので、より良い例を教えてください

于 2012-08-10T09:02:26.697 に答える