Здесь IOC (Inversion Of Control), как и Unity, пригодится.
Вы бы просто зарегистрировали ViewModel как синглтон ( только один, когда-либо ) в Unity.
Вместо того, чтобы встраивать ViewModel в View (действительно плохая практика для их точного подключения), вы указываете, какой тип ViewModel , который требуется представлению при его создании, и соответствующая ViewModel будет «внедрена» в поле зрения.
Базовый MVVM, без какой-либо другой инфраструктуры для инъекций, не дает вам ничего особенного (за исключением отделения от вида).