Внутри модели есть живой список устройств, у каждого устройства есть свои поля. Как оповещать список в VM, чтоб тот обновил View?
Обновление полей в этом списке смог сделать через INPC, но мне кажется это не лучшим вариантом, так как модель захламляется и не удается двоично сериализовать ее. Я вижу что необходимо написать дополнительную модель к существующим и в ней оповещать об изменениях, но тогда нужно подстроить логику чтоб работала с этими классами, а не с самой моделью.
Модель:
[Serializable]
public class Group
{
public string Name { get; set; }
public List<Computer> PCList { get; set; }
}
[Serializable]
public class Computer
{
public string Name { get; set; }
public bool Status { get; set; }
}
Логика:
public class Logic
{
private List<Group> _Groups;
public List<Group> Groups { get { return _Groups; } set { _Groups = value; } }
// code
public Logic()
{
// code
_Groups = LoadGroups();
_Server.Start();
}
private void ClientConnectedEvent(object sender, MyArgs e)
{
Computer comp = new Computer();
// code
_Groups[0].PCList.Add(comp);
}
}
VM:
public class MainWindowViewModel
{
public MainWindowViewModel()
{
Groups = new ObservableCollection<Group>(App.Logic.Groups);
}
public ObservableCollection<Group> Groups { get; set; }
}
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости