2012-12-15 3 views
0

У меня есть MainViewModel, который содержит коллекцию моделей просмотра вкладок. Каждая вкладка может быть другой моделью вида (другое представление). Когда пользователи добавляют новую вкладку, тип вида табуляции признается (базовая модель просмотра), но он не привязан вообще. Например, одна модель представления содержит GridView с itemsSource, установленным для коллекции, но если я установил точку останова в свойстве get этой коллекции, она никогда не попадает. (но когда я создаю экземпляр этой модели представления, я устанавливаю эту коллекцию в новый ObservableCollection, так что событие NotifyPropertyChanged запущено) - поэтому я полагаю, что контекст данных неверен для вложенного пользовательского элемента управления (модель представления)MVVM связывание вложенных элементов управления пользователя

+1

Это не вопрос. Тем не менее, мое предложение - посмотреть окно вывода Visual Studio. Если есть какие-либо ошибки привязки, вы найдете их там. Кроме того, опубликуйте некоторые XAML и некоторый код, если вы ожидаете некоторых ответов –

ответ

0

Как правило, в модели MVVM вы свяжите свои данные с помощью шаблона данных, который выравнивает вашу модель представления как тип данных и представление в качестве указанного вами вида. MVVM обычно следует модели представления как представления и viewmodel в качестве данных и обычно связан с шаблоном данных в XAML, обычно в файле app.xaml или специально созданном файле MainWindowResources.xaml для отношений для типов и привязок.

Обычно, когда что-то не связано правильно, я часто обнаружил, потому что представление представлено, но viewmodel не привязана к нему, данные не имеют представления о том, как отображаться или обновляться.

ЭГ: В обычно используемом MSDN эталонным MVVM: http://archive.msdn.microsoft.com/mag200902MVVM/Release/ProjectReleases.aspx?ReleaseId=2026

<DataTemplate DataType="{x:Type vm:AllCustomersViewModel}"> 
<view:AllCustomersView /> 
</DataTemplate> 
Смежные вопросы