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から-

抽象クラスはインスタンス化できず、多くの場合、部分的に実装されているか、まったく実装されていません。

必要に応じて、 PanelPanelから派生するクラスのオブジェクトを作成します。最も人気があるのは

  • グリッド
  • ドックパネル
  • スタックパネル
  • キャンバス

パネルから派生するクラスの完全なリストは、ここにあります。

これはあなたの目的に役立ちます-

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

Dockしかし、DockPanel のプロパティ (および DockPanel に固有のプロパティ)にアクセスする必要があると思うので、代わりに DockPanel オブジェクトを作成する必要があります -

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

抽象クラスのインスタンスを作成できません。abstract キーワードを参照してください

抽象クラスから派生でき、派生したオブジェクトを抽象型として使用できます。ポリモーフィズム継承を参照してください

于 2013-08-18T08:10:17.357 に答える