Массовая привязка к DataGrid

352
23 июня 2017, 06:11

Имеется 4 класса-модели. Для каждой модели своя вью-модель, содержащая коллекцию объектов соответствующей модели. Есть главная вью-модель, в которой создаются экземпляры этих вью-моделей. Теперь вопрос: как в DataGrid привязать каждую колонку к определённому полю соответствующей вью-модели? Например, у DataGrid в ItemsSourse указать MainViewModel, а DataGridTextColumn привязать к свойству PfVM у MainViewModel и Name у ProtoFrame? Я уже третий день не могу найти решение...

public class ProtoFrame
{
    public ProtoFrame()
    {
        Frames = new List<Frame>();
        ProtoSlots = new List<ProtoSlot>();
    }
    public int Id { get; set; }
    public string Name { get; set; }
    public string FType { get; set; }
    public virtual ICollection<Frame> Frames { get; set; }
    public virtual ICollection<ProtoSlot> ProtoSlots { get; set; }
}
public class ProtoFrameViewModel
{
    public ProtoFrameViewModel()
    {
        GetList(context);
    }
    private readonly BusinessContext context = new BusinessContext();
    private ObservableCollection<ProtoFrame> protoFrames = new ObservableCollection<ProtoFrame>();
    public ObservableCollection<ProtoFrame> ProtoFrames {
        get
        {
            return protoFrames;
        }
    }
    public void GetList(BusinessContext context)
    {
        protoFrames.Clear();
        foreach (ProtoFrame pf in context.GetProtoFramesList())
        {
            protoFrames.Add(pf);
        }
    }
}
public class MainViewModel
{
    private ProtoFrameViewModel pfVM;
    public MainViewModel()
    {
        pfVM = new ProtoFrameViewModel();
    }
    public ObservableCollection<ProtoFrame> PfVM
    {
        get
        {
            return pfVM.ProtoFrames;
        }
    }
}
READ ALSO
C# Entiity Framework. Exception: The process cannot access the file because it is being used by another process

C# Entiity Framework. Exception: The process cannot access the file because it is being used by another process

Суть проблемы: мне нужно сохранить изменения в базеПосле чего сравнить хешсумму базы с предыдущей и восстановить базу из бекапа, если они...

213
Почему Microsoft.Office.Interop.Word document.Variables.Count == 0?

Почему Microsoft.Office.Interop.Word document.Variables.Count == 0?

У меня есть docx файл с переменными, которые я добавил через Экспресс блоки -> Поле

336
Почему не доходят данные в Tcp/ip приложении?

Почему не доходят данные в Tcp/ip приложении?

Есть прикладное клиент-серверное приложение, основанное на сокетах tcp/ipДанные отправляются и получаются спокойно с любыми компами, кроме...

246