从WPF

从WPF

问题描述:

的Silverlight MVVM转换我正在读这篇文章 - http://msdn.microsoft.com/en-us/magazine/dd419663.aspx从WPF

而且我碰到这段代码在WPF演示应用程序,与文章来了来了。

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

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

我用方括号代替尖括号 - 不确定如何发布它们。

的代码是在MainWindowResourses.xaml和代码开始上线19

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

干杯,

EC

+0

我刚刚编辑了你的代码块 - 你能检查它是你的意图吗?干杯。 – slugster 2010-05-13 11:31:22

+0

是的,这是业务:)我认为我发现了问题,但。我正在使用MVVM Light工具包 - 但我没有使用应用程序的定位器部分 - 我认为定位器可以满足我的需求 - 需要阅读它:)谢谢 – Eoinii 2010-05-13 11:34:33

+0

我已经标记了问题mvvm-光。 MVVM Light Toolkit的幕后人物劳伦特·布尼翁(Laurent Bugnion)经常在这里穿梭,可能对此事有更好的见解。 – 2010-05-13 12:06:34

这是WPF隐的造型,其中一个样式应用到项目中的所有控件的一个例子。这是not supported in Silverlight

为了解决这个问题,你需要将你的视图控件放在标记中,并将它们的DataContext设置为viewmodel。

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

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

theViewModel没有来自资源部分,它可以在托管XAML控制/页的属性。

+0

好吧 - 但我希望能够动态创建视图 - 就像我在上面发布的文章一样。我将有许多视图,它们将被添加到一个TabControl - 所以我将如何能够添加到我的'工作区'的集合,并让它正确地呈现视图?顺便说一下,我正在使用MVVM Light工具包... – Eoinii 2010-05-13 11:51:22

+0

不要以为你可以不需要像棱镜一样的东西 - http://compositewpf.codeplex.com/无论如何它值得探索。 – 2010-05-13 11:56:42

+0

Silverlight 4有隐式样式 - 它会工作吗? – Eoinii 2010-05-13 12:19:37