Страницы

Поиск по вопросам

среда, 27 февраля 2019 г.

Возможно ли в datagrid вывести подстроки?

У меня есть коллекция объектов, каждый объект имеет в себе коллекцию других объектов. Возможно ли эту коллекцию вывести в DataGrid. Мой код: //ViewModel
public class ObladnanViewModel { public ObservableCollection Collection { get; set; } public ObservableCollection Electromotors { get; set; }
public ObladnanViewModel() { Electromotors =new ObservableCollection() { new ElectromotoruModel(){Id= 1,Marka = "AO2",Name = "Main"}, new ElectromotoruModel(){Id=2,Marka = "4",Name = "Main"}, new ElectromotoruModel(){Id=3,Marka = "AO2",Name = "Main"} }; Collection=new ObservableCollection() { new ObladnanModel(1,"Obl1",Electromotors), new ObladnanModel(2,"Obl2",Electromotors) }; } }
Класс ElectromotoruModel:
public class ElectromotoruModel { public int Id { get; set; } public string Name { get; set; } public string Marka { get; set; } }
public class ObladnanModel { public int Id { get; set; } public string Name { get; set; } public ObservableCollection Elektromotors { get; set; }
public ObladnanModel(int id, string name, ObservableCollection electromotors) { this.Id = id; this.Name = name; this.Elektromotors = electromotors; } }
И пробивал так XAML:

Но в Motors выводит просто пустую строку. Возможно ли сделать так:


Ответ

Нашел решение. Правда не в DataGrid а в ListBox но и так пойдет) Моя ViewModel:
public class ObladnanViewModel {
public ObservableCollection Collection { get; set; }
public ObladnanViewModel() { Collection=new ObservableCollection() { new ObladnanModel(1,"Obl1",new ObservableCollection() { new ElectromotoruModel(){Id= 1,Marka = "AO2",Name = "Main"}, new ElectromotoruModel(){Id=2,Marka = "4",Name = "Main"}, new ElectromotoruModel(){Id=3,Marka = "AO2",Name = "Main"}}),
new ObladnanModel(2,"Obl2",new ObservableCollection() { new ElectromotoruModel(){Id= 1,Marka = "36",Name = "Main"}, new ElectromotoruModel(){Id=6,Marka = "4",Name = "Vent"}, new ElectromotoruModel(){Id=3,Marka = "AO6",Name = "cooling"}, new ElectromotoruModel(){Id = 4,Marka = "C03",Name = "movement table"}} ) }; } }
Код Xaml:






Результат:

Комментариев нет:

Отправить комментарий