【发布时间】:2016-10-12 14:37:30
【问题描述】:
我在 VS2015 中创建新的自定义控件时遇到问题。实际上,它会生成一个包含错误的 Themes/Generic.xaml 文件
“命名空间 MyNamespace 中不存在名称 CustomControl”。
当然,自定义控件位于命名空间 MyNamespace 中,并且在 xaml 文件中,局部变量已定义好:
xmlns:local="clr-namespace:MyNamespace"
经过一番调查,这似乎是 IntelliSense 的一个众所周知的错误,简单的重启应该可以解决问题,但事实并非如此。
我试过了
- 注释和取消注释代码
- 关闭/重新打开文件
- 重启 Visual Studio
- 删除
%LOCALAPPDATA%\Microsoft\VisualStudio\14.0\Designer\ShadowCache中的所有文件夹 - 在调试/发布配置之间切换...
错误仍然存在。
我没有接触 IDE 为 CustomControl 生成的任何行代码,所以也许我错过了什么?
using System.Windows;
using System.Windows.Controls;
namespace MyNamespace
{
public class CustomControl : Control
{
static CustomControl()
{
DefaultStyleKeyProperty.OverrideMetadata(typeof(CustomControl), new FrameworkPropertyMetadata(typeof(CustomControl)));
}
}
}
谢谢。
【问题讨论】:
-
此控件是否存在于不同的程序集中(与尝试使用它的项目不同的项目)?另外,只需尝试运行该应用程序,如果正确引用它,它仍然可以工作并清除错误。至少当我遇到这个错误时会发生这种情况。
-
CutomControl 在项目中而不是在其他程序集中,因此我不需要在 XAML 文件中明确定义程序集名称。但是,我只是尝试重新构建解决方案并且可以正常工作......但设计器面板仍然出现错误,并且面板显示“设计视图无法正确显示,因为尚未构建一些自定义元素。”我也尝试了重新启动,但仍然存在......
标签: c# wpf xaml namespaces