从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
这是WPF隐的造型,其中一个样式应用到项目中的所有控件的一个例子。这是not supported in Silverlight。
为了解决这个问题,你需要将你的视图控件放在标记中,并将它们的DataContext设置为viewmodel。
<Window.Resources>
<vm:CustomerViewModel x:Key="theViewModel">
<Window.Resources>
<vw:CustomerView DataContext={StaticResource theViewModel}/>
theViewModel
没有来自资源部分,它可以在托管XAML控制/页的属性。
好吧 - 但我希望能够动态创建视图 - 就像我在上面发布的文章一样。我将有许多视图,它们将被添加到一个TabControl - 所以我将如何能够添加到我的'工作区'的集合,并让它正确地呈现视图?顺便说一下,我正在使用MVVM Light工具包... – Eoinii 2010-05-13 11:51:22
不要以为你可以不需要像棱镜一样的东西 - http://compositewpf.codeplex.com/无论如何它值得探索。 – 2010-05-13 11:56:42
Silverlight 4有隐式样式 - 它会工作吗? – Eoinii 2010-05-13 12:19:37
我刚刚编辑了你的代码块 - 你能检查它是你的意图吗?干杯。 – slugster 2010-05-13 11:31:22
是的,这是业务:)我认为我发现了问题,但。我正在使用MVVM Light工具包 - 但我没有使用应用程序的定位器部分 - 我认为定位器可以满足我的需求 - 需要阅读它:)谢谢 – Eoinii 2010-05-13 11:34:33
我已经标记了问题mvvm-光。 MVVM Light Toolkit的幕后人物劳伦特·布尼翁(Laurent Bugnion)经常在这里穿梭,可能对此事有更好的见解。 – 2010-05-13 12:06:34