0

我正在阅读这篇文章 - http://msdn.microsoft.com/en-us/magazine/dd419663.aspx

我在文章附带的 WPF Demo 应用程序中遇到了这段代码。

此模板将 CustomerView 应用于主窗口中显示的 CustomerViewModel 类的实例。

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

我用尖括号代替了方括号 - 不知道如何发布它们。

代码位于 MainWindowResourses.xaml 中,代码从第 19 行开始。

任何人都知道我如何在 Silverlight 中做到这一点?我们没有 DataType,我需要能够告诉应用程序这个 View 与这个 ViewModel 相关联 - 所以我可以创建一个具有不同视图的选项卡控件,如演示应用程序。

干杯,

欧共体

4

1 回答 1

0

这是 WPF 隐式样式的示例,其中将样式应用于项目中的所有控件。Silverlight 不支持此功能。

要解决这个问题,您需要将视图控件放在标记中并将其 DataContext 设置为视图模型。

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

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

theViewModel不必来自资源部分,它可以是托管 XAML 控件/页面中的属性。

于 2010-05-13T11:48:40.600 回答