Правильный способ поделиться видом моделей MVVM?
У меня есть ContractView. Это должно отображаться из 2 отдельных плиток на моей приборной панели. Один для базовой нагрузки и один для пиковой нагрузки.
При отображении клипов базовой загрузки заголовок будет "Определение клипа базовой нагрузки", а из плитки "Пиковая нагрузка" на панели инструментов это будет определение "Пиковая загрузка клипа".
Точно так же ViewModel нужно будет получить клипы Baseload или Peak load в зависимости от того, на каком плитке щелкнул пользователь
Я знаю, что один из способов сделать это - сделать 2 отдельные копии, но это кажется совершенно неправильным, поскольку это дублирует взгляды.
Что касается размера модели представления, я рассматриваю возможность создания двух отдельных моделей представления и наследования их от ClipDefinitionViewModel. Затем 2 новых класса модели представления будут знать тип клипа для получения из службы данных.
Есть ли способ лучше?
Я использую Simple MVVM Toolkit
Павел
1 ответ
Один класс, два объекта с разными свойствами.
Есть Title
свойство, которое вы устанавливаете при создании виртуальной машины (либо переходите в конструктор, либо устанавливаете явно).
Аналогично LoadSource
Свойство может определить, где виртуальная машина должна искать свои определения.