我有一个 .NET 2.0 windows 窗体应用程序,它大量使用ListView
控制。
我已经子类化了ListView
类变成模板化的SortableListView<T>
类,因此它可以更智能地显示内容并自行排序。
不幸的是,这似乎破坏了 VS2005 和 2008 中的 Visual Studio 表单设计器。
该程序编译并运行良好,但是当我尝试在设计器中查看所属表单时,出现以下错误:
- 找不到类型“MyApp.Controls.SortableListView”。请确保引用了包含此类型的程序集。如果此类型是您的开发项目的一部分,请确保该项目已成功构建。
没有可用于此错误的堆栈跟踪或错误行信息
- 变量“listViewImages”未声明或从未分配。
在 MyApp.Main.Designer.cs 行:XYZ 列:1
Call stack:
at System.ComponentModel.Design.Serialization.CodeDomSerializerBase.Error(IDesignerSerializationManager manager, String exceptionText, String helpLink)
at System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeExpression(IDesignerSerializationManager manager, String name, CodeExpression expression)
at System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeExpression(IDesignerSerializationManager manager, String name, CodeExpression expression)
at System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeStatement(IDesignerSerializationManager manager, CodeStatement statement)
有问题的代码行是实际添加到表单的位置,并且是
this.imagesTab.Controls.Add( this.listViewImages );
listViewImages 声明为
private MyApp.Controls.SortableListView<Image> listViewImages;
并在中实例化InitializeComponent
方法如下:
this.listViewImages = new MyApp.Controls.SortableListView<Image>();
如前所述,该程序可以完美编译并运行,并且我尝试过将SortableListView
类输出到一个单独的程序集,以便可以单独编译它,但这没有什么区别。
我不知道从这里该去哪里。任何帮助,将不胜感激!