Я не думаю, что вы должны заботиться о состоянии окна в модели представления, это совершенно неправильно, потому что слой более низкого уровня знает о слое более высокого уровня (таким образом, неправильное разделение проблем (SOC)).
В этом случае я обычно делаю подписку на изменения в модели представления из кода элемента управления или окна (то есть представления), содержащего модель представления. В этом случае допустимо писать код в коде позади, потому что он используется только в представлении (и, следовательно, код сзади является идеальным местом для этой логики, которую вы на самом деле не хотите использовать для модульного тестирования).