【问题标题】:Trying to get a WPF UserControl to Inherit a Class试图让 WPF UserControl 继承一个类
【发布时间】:2012-02-23 13:42:24
【问题描述】:

我的 WPF 应用程序中有四个用户控件 - 例如

VisualA、VisualB、VisualC、VisualD

我希望他们每个人都需要继承一个通用的“播放器”类,其中包含一堆共享代码-。例如方法、计时器等

到目前为止,这是我在 Control 的 XAML 中尝试过的

<UserControl x:Class="VisualA"

这是我在单独的 Class 文件中的内容。

Partial Public Class VisualA
    Inherits Player
End Class

Public Class Player
    Inherits UserControl
End Class

在我的窗口中,我像往常一样引用 UserControl:

<local:VisualA></local:VisualA>

但是,我收到以下错误:

为类指定的基类“System.Windows.Controls.UserControl” 'VisualA' 不能与其中之一的基类 'Player' 不同 它的其他部分类型

我做错了什么?

我还认为继承类 (Player) 中的任何代码(即方法)都可以通过按名称引用来访问 UserControl 中的控件 - 对吗?

【问题讨论】:

    标签: wpf inheritance user-controls


    【解决方案1】:

    XAML 中的基类仍设置为 UserControl。将其更改为播放器。另请注意,必须定义 Player 类型的命名空间。即:

    <BaseClasses:Player x:Class="VisualA"
            xmlns:BaseClasses="clr-namespace:MyProject.BaseClasses" 
            ... all your other namespaces used
    

    【讨论】:

    • 嘿,我曾经尝试过玩这个并遇到如下错误:XML 命名空间中不存在标签“播放器”并且找不到类型“播放器”。确认您没有丢失程序集引用。如何解决这些错误?
    • 刚刚用
    • 你只需要让你的命名空间正确。请参阅编辑后的答案。
    猜你喜欢
    • 1970-01-01
    • 2010-10-27
    • 1970-01-01
    • 1970-01-01
    • 2010-09-21
    • 1970-01-01
    • 1970-01-01
    • 2014-11-06
    相关资源
    最近更新 更多