0

Personプロパティがプリミティブ型で構成されるクラスと、プロパティがすべてプリミティブ型であるクラスのコードを作成するとします。Address複数のPersonオブジェクトを に配置し、ObservableCollectionそれを DataGrid にバインドします。プリミティブ型のプロパティは正常に表示されますが、Addressプリミティブ型で構成されたクラスであるプロパティは「(コレクション)」と表示されるだけです。

グーグルでこの問題の解決策を見つけましたが、小さな機能のために多くの作業が必要なようです。私が見つけた解決策はDataGridView、2007年のものでした.WPFを使用できるようになったので、もっと簡単な方法はありDataGridますか?それとも同じくらい難しいですか?

コード例:

class Person
{
    private string id;
    private string name;
    private Address homeAddr;

    public string ID
    {
            get { return id;}
            set { id = value;}
    }

    public string Name
    {
            get { return name;}
            set { name = value;}
    }

    public Address HomeAddr
    {
            get { return homeAddr;}
            set { homeAddr = value;}
    }
}

class Address
{
    private string cityname;
    private string postcode;

    public string CityName
    {
        get { return cityname;}
        set { cityname = value;}
    }

    public string PostCode
    {
        get { return postcode;}
        set { postcode = value;}
    }
}
4

2 に答える 2

2
<DataGrid>
  <DataGrid.Columns>
    <DataGridTextColumn Binding="{Binding Id}"/>
    <DataGridTextColumn Binding="{Binding Name}"/>
    <DataGridTextColumn Binding="{Binding HomeAddr.CityName}"/>
    <DataGridTextColumn Binding="{Binding HomeAddr.PostCode}"/>
  </DataGrid.Columns>
</DataGrid>
于 2013-09-30T22:26:25.453 に答える