Вызов службы WCF и проблема с легким инструментарием MVVM - PullRequest
1 голос
/ 02 декабря 2011

Я создал шаблонную службу WCF, которая общается (оригинально: обсудить) с моим EF, связанным с моей базой данных. Затем у меня есть основное приложение, которое представляет собой простой WPF, реализующий MVVM. Мое основное приложение ссылается на мою службу WCF и автоматически создало файл конфигурации.

В конструкторе ViewModel я вызываю службу WCF, чтобы получить сбор данных, которые будут связаны с представлением.

Toruble заключается в том, что при этом Datacontext, который инициализируется для ViewModelLocator.MainStatic, генерирует ошибку «Невозможно создать экземпляр« ViewModelLocator ».

Если я удаляю сервисный вызов из модели представления, ошибка исчезает, но, конечно, не может получить данные.

Есть идеи, как реализовать сервисный вызов для заполнения коллекции в наборе легких инструментов MVVM? Любой образец вы должны пройти через?

К сожалению, такого примера нет. и мог бы получить

Спасибо за помощь саржа

Ответы [ 2 ]

3 голосов
/ 02 декабря 2011

В общем, я бы предположил, что это потому, что вы делаете вызов во время разработки. Используйте IsInDesignModeStatic в вашей модели представления, чтобы различать код времени выполнения и код времени проектирования. В коде designtime я бы добавил некоторые данные вручную, чтобы вам было проще создавать ваше представление. См. Также это обсуждение для получения дальнейших указаний.

Пример ответа Даниила .

И этот пост точка, которая обращается к базам данных, также не работает в режиме разработки.

Редактировать

Лоран также рассказывает о этой теме .

2 голосов
/ 05 декабря 2011

Вы можете попробовать следующее.

MainViewModel()
{
   if(!IsInDesignMode)
   {   
      //pull data from service  
   }
}
...