Я бы предложил вам создать четыре проекта для этого porpouse:
- Yourapp.UI (код XAML и ViewModel)
- Yourapp.Data (Уровень доступа к данным)
- Yourapp.Entities (Определение ваших бизнес-объектов)
- Yourapp.Services (Уровень служб или WCF)
Yourapp.Data общается с базой данных и получает необходимую информацию.
Yourapp.Services отображает и преобразует эту информацию в ваши сущности (если логика слишком сложна, возможно, потребуется дополнительный уровень бизнеса).
Из Yourapp.UI мне просто нужно добавить ссылку на службу и использовать ее как IEnumerable <> и сделать ее многократно используемой, чтобы VS не создавал дополнительные объекты, а указывал на ваши объекты.
Yourapp.Entities должны упоминаться в проектах 1,3 и 4. Это сделает вашу разработку проще для тестирования и отладки. Также попробуйте использовать интерфейсы на уровне обслуживания, чтобы было легко реализовать пробное тестирование.
Надеюсь, я был достаточно ясен, я немного устал. Если возникнет вопрос, пожалуйста, добавьте комментарий. Приветствия.
Хорошо, я знаю, что это был скорее теоретический ответ, чем практический. Могу ли я предложить вам проверить эти учебники? Учебные пособия по MVVM - WCF / WPF Они являются отличным введением и, как вам требуется, используют WPF и WCF.
Пару месяцев назад я нашел их в YouTube и, поверьте мне, они развеяли многие сомнения, которые у меня были в тот момент. С тех пор освоить стало намного проще. В начале WCF может показаться более сложным, чем он есть на самом деле.
Извините, что не расширил мой ответ, но у меня сейчас немного времени. Надеюсь, теперь это имеет больше смысла.