【问题标题】:How to inherit a partial class from user control to other one?如何将部分类从用户控件继承到另一个?
【发布时间】:2017-01-27 15:02:54
【问题描述】:

我有两个用户控件的问题,首先我有一个名为“Base”的用户控件,我想从另一个名为“MyControl”的用户控件继承它,但“Base”控件是一个 partial 类和用户控件“MyControl”只有一个 public 类,所以我在“MyControl”中使用了部分类,并使用 ElementHost 来显示“MyControl”,但我出现错误“无法将类型 MyControl 隐式转换为 System.Windows.UIElement”
我尝试将“MyControl”添加为子级,但它显示该错误。
帮助!

编辑: 类看起来像:

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 对象就被初始化了。

【问题讨论】:

  • 包含代码来说明这个结构。你可以去掉内部,只显示类定义和可能的构造函数,如果你认为没有其他相关的话。
  • 注意:Partial 用于定义跨多个文件的单个类。这与继承无关。

标签: c# .net inheritance user-controls partial-classes


【解决方案1】:

看起来像吗?

public partial class Base : UIElement
{
}

public class myControl : Base
{
}

我不知道你的意思是什么

我使用 ElementHost

但是,我的猜测是您试图将 myControl 转换为 ElementHost,但它不是。 或者 myControl 没有实现 UIElement 所需的功能。

如果有帮助,请告诉我。

【讨论】:

    猜你喜欢
    • 2011-08-25
    • 2019-03-31
    • 2014-04-14
    • 1970-01-01
    • 1970-01-01
    • 2014-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多