2

我在 WPF 中编写了这段代码:

   System.Windows.Controls.Panel Panel1 = null;
   Panel1 = new System.Windows.Controls.Panel();

但它是这么说的:

Error1 Cannot create an instance of the abstract class or interface 'System.Windows.Controls.Panel'

如何解决这个问题?谁能回答我的问题。

4

2 回答 2

5

来自MSDN -

抽象类不能被实例化,并且经常要么部分实现,要么根本不实现。

如果需要Panel,创建派生自Panel的类的对象。最受欢迎的是

  • 网格
  • 停靠面板
  • 堆栈面板
  • 帆布

从面板派生的类的完整列表可以在这里找到。

这将达到您的目的-

System.Windows.Controls.Panel Panel1 = new System.Windows.Controls.DockPanel();

但我认为您需要访问DockDockPanel 的属性(以及特定于 DockPanel 的属性),因此您应该创建 DockPanel 对象 -

System.Windows.Controls.DockPanel Panel1 = new System.Windows.Controls.DockPanel();
于 2013-08-18T08:19:52.257 回答
1

您不能创建抽象类的实例,请参阅抽象关键字

您可以从抽象类派生,然后可以将派生对象用作抽象类型,请参阅多态性继承

于 2013-08-18T08:10:17.357 回答