Я не верю, что то, что вы сказали, нарушает схему MVVM. В MVVM вы стараетесь избегать размещения кода в вашем представлении, который не принадлежит представлению.
В MVVM представление должно (я, вероятно, слишком упрощен):
- Отображение пользовательского интерфейса
- Взять пользовательский ввод и управлять моделью представления.
Таким образом, наличие в коде чего-то, что фиксирует ввод ключа представления, а затем передает это в модель представления, кажется совершенно логичным.
Если предложения @Howard
делают то же самое с привязками, то это также работает.