Это классический пример того, почему существует ViewModel - вы хотите иметь логику, которая зависит от состояния trivial в представлении, а также от основной модели.
Представьте, что вы пишете модульный тест для запуска с ViewModel для этого поведения. Вам потребуется ViewModel, чтобы свойство было сопоставлено с выбранным элементом. ViewModel также будет иметь другое свойство, которое зависит от выбранного элемента, а также от другого значения в ViewModel , которое вы упомянули.
Я думаю об этом как о подходе, основанном на тестировании, к дизайну ViewModel - если вы не можете написать модульный тест для его оценки, значит, у вас нет правильного сочетания состояний и опубликованных интерфейсов.
Итак, да, ViewModel может решить проблему, и если вы поместите в нее все состояния, вы сможете выполнить объединение внутри ViewModel.