Правильный способ поделиться видом моделей MVVM?

У меня есть ContractView. Это должно отображаться из 2 отдельных плиток на моей приборной панели. Один для базовой нагрузки и один для пиковой нагрузки.

При отображении клипов базовой загрузки заголовок будет "Определение клипа базовой нагрузки", а из плитки "Пиковая нагрузка" на панели инструментов это будет определение "Пиковая загрузка клипа".

Точно так же ViewModel нужно будет получить клипы Baseload или Peak load в зависимости от того, на каком плитке щелкнул пользователь

Я знаю, что один из способов сделать это - сделать 2 отдельные копии, но это кажется совершенно неправильным, поскольку это дублирует взгляды.

Что касается размера модели представления, я рассматриваю возможность создания двух отдельных моделей представления и наследования их от ClipDefinitionViewModel. Затем 2 новых класса модели представления будут знать тип клипа для получения из службы данных.

Есть ли способ лучше?

Я использую Simple MVVM Toolkit

Павел

1 ответ

Решение

Один класс, два объекта с разными свойствами.

Есть Title свойство, которое вы устанавливаете при создании виртуальной машины (либо переходите в конструктор, либо устанавливаете явно).

Аналогично LoadSource Свойство может определить, где виртуальная машина должна искать свои определения.

Другие вопросы по тегам