Дело в том, что они не являются взаимозаменяемыми.И при этом они не должны быть (в практическом смысле).Да, вы можете создать ViewModels, которые также можно использовать в ASP.NET MVC.Но количество абстракции, которое вы должны будете включить, сделает это упражнение бесполезным.
Вам не следует тратить время на беспокойство об этой несовместимости, усердно работая над ее уменьшением / устранением.1005 * должен сделать - переместить действительно многократно используемый код , который не зависит ни от WPF, ни от ASP.NET, в библиотеки многократного использования.Этот код - то, что должно быть повторно использовано в обоих приложениях.Ваши ViewModels и контроллеры принадлежат к инфраструктуре приложений, для которой они предназначены.