2017-01-27 7 views
0

私は2つのユーザーコントロールに問題がありました。まず、 "Base"という名前のユーザーコントロールがあり、 "MyControl"という別のユーザーコントロールから継承したいが、 "Base"コントロールは部分クラスとユーザーコントロール "MyControl"はpublicクラスを持っているので、 "MyControl"で部分クラスを使用し、 "MyControl"を表示するためにElementHostを使用しますが、エラーが発生しました"implicity convert type MyControlからSystem.Windows.UIElement "
"MyControl"を子として追加しようとしましたが、そのエラーが表示されます。
ヘルプ!ユーザーコントロールから他のクラスに部分クラスを継承する方法は?

編集: clasesのようになります。

public partial class Base : UserControl 
{ 
} 
public partial class MyControl : Base 
{ 
} 

そして、私はこのような何かをしたい:

public addControl() 
{ 
    ElementHost _host = new ElementHost(); 
    _host.Dock = Dockstyle.Fill; 
    _host.Child = _myControl; 
    panel.Control.Add(_host); 
} 

エラーが_host.Child = _myControlです。。この時点でオブジェクト_myControlが初期化されます。

+0

この構造を説明するコードを含めます。内部を取り除き、クラスの定義を表示したり、他のものが関連していると思わない場合はコンストラクタを表示したりすることができます。 – Gary

+0

注:Partialは、複数のファイルにわたって単一のクラスを定義するために使用されます。これは継承とは関係ありません。 – Andez

答えて

0

このような感じですか?

public partial class Base : UIElement 
{ 
} 

public class myControl : Base 
{ 
} 

私はあなたが

によって何を意味するかわからないんだけど、私はElementHost

を使用しかし、私の推測では、あなたがElementHostとしてMyControlとをキャストしようとしているということですが、それは一つではありません。 または、myControlは、UIElementから必要なものを実装していません。

それが役立つかどうか教えてください。

関連する問題