我正在使用 WPF,并且正在尝试使一个类继承自UserControl
该类并将其用作其他类的基类。我已经阅读了很多关于如何做到这一点的文章(比如这篇有超过 50 次投票的文章),但他们都说了同样的话,但都没有奏效。
我有这个代码:
namespace MyNamespace {
// handwritten
public class BaseControl : UserControl { }
// generated by the IDE
public partial class XAMLControl1 : UserControl {
...
}
}
现在,我将该行更改为
public partial class XAMLControl1 : BaseControl {
在 XAML 中,我将其从
<UserControl x:Class="MyNamespace.XAMLControl1" ...>
...
</UserControl>
到
<my:BaseControl x:Class="MyNamespace.XAMLControl1"
xmlns:my="clr-namespace:MyNamespace" ...>
...
</my:BaseControl>
该my:BaseControl
部分以波浪形的蓝色下划线,所以当我将它悬停时,IntelliSense 说
名称“
BaseControl
”中不存在名称空间“clr-namespace:MyNamespace
”。
编译器给了我奇怪的错误
未找到元素“<m>”的结束标记。
m
找不到类型“ ”。确认您没有丢失程序集引用并且所有引用的程序集都已构建。名称“
BaseControl
”中不存在名称空间“clr-namespace:MyNamespace
”。
是的,那是“m
找不到类型''”。我没有看到我在哪里尝试使用在m
任何地方命名的类型。我认为这是一个不相关的编译器错误,但我想我会提到它。而且我绝对确定该类型BaseControl
确实存在于命名空间中MyNamespace
。在我输入my:
.
我能做些什么来解决这个问题?我正在使用 Visual Studio 2012 Express for Windows Desktop (7)。