Преобразование Silverlight MVVM из WPF - PullRequest
0 голосов
/ 13 мая 2010

Я читал эту статью - http://msdn.microsoft.com/en-us/magazine/dd419663.aspx

И я наткнулся на этот фрагмент кода в демонстрационном приложении WPF, которое прилагается к статье.

Этот шаблон применяет CustomerView к экземпляру класса CustomerViewModel, показанному в главном окне.

<DataTemplate DataType="{x:Type vm:CustomerViewModel}">  
    <vw:CustomerView />  
</DataTemplate>

Я заменил угловые скобки квадратными скобками - не знаю, как их разместить.

Код находится в MainWindowResourses.xaml, и код начинается в строке 19.

Кто-нибудь знает, как я могу сделать это в Silverlight? У нас нет DataType, и я должен быть в состоянии сообщить приложению, что это представление связано с этой моделью представления данных, поэтому я могу создать элемент управления с вкладками с другим представлением, как в демонстрационном приложении.

Приветствия

EC

1 Ответ

0 голосов
/ 13 мая 2010

Это пример неявного стилевого оформления WPF, в котором стиль применяется ко всем элементам управления в проекте. не поддерживается в Silverlight .

Чтобы обойти это, вам нужно вместо этого поместить элементы управления представлением в разметку и установить для их DataContext значение модели представления.

<Window.Resources>
    <vm:CustomerViewModel x:Key="theViewModel">  
<Window.Resources>

<vw:CustomerView DataContext={StaticResource theViewModel}/>  

theViewModel не обязательно из раздела ресурсов, это может быть свойство на управляющем элементе XAML / странице.

...