Im пытается справиться с написанием проверяемых ViewModels в Silverlight 4. В настоящее время я использую свет MVVM.
Im использует AutoFac, и IoCContainer отлично справляется со своей работой. Однако для ввода в конструктор ViewModels, привязанных к представлениям, у меня есть цепочка конструкторов:
public UserViewModel() : this(IoCContainer.Resolve<IUserServiceAsync>())
{
}
public UserViewModel(IUserServiceAsync userService)
{
if (this.IsInDesignMode) return;
_userService = userService;
}
Что не чувствует себя чистым, но это лучший вариант, который я нашел до сих пор. Это работает, и мое приложение работает по желанию, и его можно проверить с помощью инвертированного управления.
Однако, когда моя виртуальная машина привязана к моему представлению следующим образом:
<UserControl.DataContext>
<ViewModel:UserViewModel />
</UserControl.DataContext>
В моих атрибутах страницы XAML режим разработки в VS2010 и Blend не работает.
Есть ли лучший способ достичь того, что я пытаюсь использовать в Silverlight, который все еще работает с режимом разработки? Потеря режима разработки не является выключателем сделки, но будет удобна при изучении XAML. Чище ни одного прикованного пути было бы неплохо!
Мне кажется, что возможно использовать AutoFac/IoC для разрешения viewmodels для просмотров, как это было указано выше в подходе к методу XAML, и пойти по этому маршруту?
Спасибо.