Предположим, что вы пишете код для класса Person
, свойства которого состоят из примитивных типов и класса Address
, свойства которого являются примитивными типами. Вы помещаете несколько объектов Person
в ObservableCollection
, и вы хотите привязать их к DataGrid. Свойства с примитивными типами будут отображаться нормально, но свойство Address
, то есть класс, состоящий из примитивных типов, просто отобразит «(Коллекция)».Как привязать DataGrid к свойству второго уровня источника данных?
Я нашел solution этой проблеме во время поиска в Интернете, но, похоже, много работы для небольшой функциональности. Решение, которое я нашел, было для 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;}
}
}
Как вы хотите Адрес для отображения? PostCode и City в столбце каждая или пользовательская ячейка для хранения обоих? –
В каждой колонке. – TheKobra