DataTemplate可以成为一个页面吗?

时间:2010-05-09 17:40:31

标签: wpf visual-studio-2008 mvvm

我正在使用MVVM模式来创建WPF独立应用程序。我的程序在Visual Studio 2008中编译,但我经常在编辑器中为我的DataTemplates收到警告。

在我的MainWindow.xaml中,我定义了以下DataTemplate:

    <DataTemplate DataType="{x:Type ViewModels:TagViewModel}">
        <Views:TagView />
    </DataTemplate>

其中“TagView”派生自Page,而不是普通的UserControl。

这会导致每次在Visual Studio中重新加载设计器时出现以下消息:“无法创建类型为'TagView'的实例。但解决方案编译良好,程序似乎正常工作。

这是Visual Studio 2008编辑器中的错误吗?或者我做错了什么?

1 个答案:

答案 0 :(得分:1)

你当然可以做到这一点,而且它在你的程序中运行的事实足够清楚。当设计者无法创建实例时,通常意味着构造函数中有一些代码失败了 - 也许是一些未初始化的单例或类似的东西。仔细查看构造函数代码,看看是否存在设计器中无法解决的依赖关系。