2010-05-09 7 views
0

Я использую шаблон MVVM для создания автономного приложения WPF. Моя программа компилируется в Visual Studio 2008, но я часто получаю предупреждения в редакторе для своих DataTemplates.Может ли DataTemplate быть страницей?

В моей MainWindow.xaml я определил следующий DataTemplate:

<DataTemplate DataType="{x:Type ViewModels:TagViewModel}"> 
     <Views:TagView /> 
    </DataTemplate> 

Где "TagView" происходит от страницы, а не обычный UserControl.

Это приводит к тому, следующее сообщение появляется каждый раз, когда я перезагружать дизайнер в Visual Studio:.. «Не удалось создать экземпляр типа„TagView“Тем не менее, решение отлично компилируется и программа, кажется, работает правильно

Является ли это ошибкой в ​​редакторе Visual Studio 2008? Или я делаю что-то не так?

ответ

1

Вы, безусловно, можете это сделать, и тот факт, что он работает в вашей программе, является достаточно ясной демонстрацией. Когда разработчик не может создать экземпляр , обычно это означает, что в конструкторе есть какой-то код, который он терпит неудачу, возможно, некоторые неинициализированные синглтоны или что-то в этом роде. Внимательно посмотрите на код конструктора и посмотрите, есть ли re любые зависимости, которые не задерживаются в дизайнере.

+0

Спасибо, Чарли. Ты прав; это не связано с тем, что TagView является производным от страницы. Это было то, что я делал в самом элементе управления TagView. Я задал более конкретный вопрос о последующих действиях здесь: http://stackoverflow.com/questions/3010923/can-the-mvvm-light-viewmodellocator-be-used-in-nested-viewmodels – dthrasher

Смежные вопросы