我正在将我的应用程序从.NET 3.5移动到.NET 4.0,并且收到以下错误消息:“无法将页面放入样式”。我已经为这个应用程序实现了MVVM模式,并使用数据模板告诉应用程序如何渲染我的各种视图模型......例如下面。
<DataTemplate DataType="{x:Type vm:ConfigureAxViewModel}">
<vw:ConfigureAxPage />
</DataTemplate>
有没有解决此错误的方法?我是否必须进行页面控制?
谢谢, 罗伊
答案 0 :(得分:1)
3.5&amp;的文档4.0:
可以通过Window,NavigationWindow,Frame或浏览器托管页面。
我不希望视图是一个页面在许多实例中工作,通常视图只是UserControls
。虽然我也不希望出现错误信息......
答案 1 :(得分:0)
我碰巧在Visual Studio 2010中的设计器中遇到此错误。几个小时后,我的一半头发消失了,我在App.xaml
<DataTemplate DataType="{x:Type vm:LoginViewModel}">
<views:Login />
</DataTemplate>
(那么他们谈论的“风格”在哪里?)无论如何,这里,登录是一个页面。事实证明,这里不能使用Page。您必须在页面的xaml中指定DataContext:
DataContext="{Binding LoginPage,Source={StaticResource Locator}}
我正在使用MVVM Light,因此您可能需要查看它以获取有关Locator的更多信息。