从单独程序集中的基类继承时,标记XAML设计器无效

时间:2012-12-11 22:50:29

标签: c# wpf visual-studio xaml designer

我正在尝试在Visual Studio中创建一系列WpfUserControls。我有一个名为BindableBase的基类,它负责处理驻留在“核心”库中的所有样板INotifyPropertyChanged。我的所有ViewModel都继承自BindableBase所以当我尝试在XAML中设置数据上下文时:

<UserControl.DataContext>
    <local:MyViewModel />
</UserControl.DataContext>

我得到Designer“无效标记”错误。当我检查我的代码时,我被告知名称“MyViewModel”在名称空间[UI Namespace]中不存在。我知道这不是真的,因为我可以构建和运行项目很好没有问题,这只是我缺少的设计时间功能。

我已将问题跟踪到单独程序集中的BindableBase类。如果我使用我的ViewModel将其移动到程序集并且View一切正常,但是当我将其移回“Core”命名空间时,设计时功能会中断。

有没有办法解决这个问题?移动我的BindableBase类不是一个选项,因为我们有多个UI程序集都必须引用该类。

1 个答案:

答案 0 :(得分:0)

我有时也有这个问题。我通常会在重新启动并重新打开后尝试清理并重建我的解决方案。如果失败,我删除有问题的代码,保存然后重新启动Visual Studio并重新打开解决方案并重新键入代码,然后在必要时进行清理和重建。