2012-02-23 42 views
0

我有我的WPF應用程序中的四個用戶控件 - 例如試圖讓一個WPF用戶控件繼承一個類

VisualA,VisualB,VISUALC,VisualD

我希望他們每個人的需要繼承一個通用的「播放器」類,其中包含的共享代碼堆 - 。例如方法,定時器等

到目前爲止,這是我在我的控制的XAML

<UserControl x:Class="VisualA" 

試圖在這裏是我在一個單獨的類文件。

Partial Public Class VisualA 
    Inherits Player 
End Class 

Public Class Player 
    Inherits UserControl 
End Class 

在我的窗口,我引用用戶控件正常:

<local:VisualA></local:VisualA> 

但是,我發現了以下錯誤:

Base class 'System.Windows.Controls.UserControl' specified for class 'VisualA' cannot be different from the base class 'Player' of one of its other partial types

我在做什麼錯?

我也在印象之內繼承的類(Player)內的任何代碼(即方法)將能夠通過名稱引用訪問UserControl中的控件 - 是否正確?

回答

1

XAML中的基類仍然設置爲UserControl。將其更改爲播放器。還要注意,Player類型的命名空間必須被定義。即:

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

嘿,我試着在這一點上玩弄,並打錯誤如:標籤'播放器'不存在於XML命名空間和類型'播放器'沒有被發現。驗證您是否缺少程序集引用。我如何解決這些錯誤? – Ben 2012-02-23 13:53:37

+0

只需使用 Ben 2012-02-23 13:56:33

+0

你只需要有你的名字空間。見編輯的答案。 – Tyson 2012-02-23 13:57:43