2012-02-23 2 views
0

WPF 응용 프로그램에 네 개의 UserControls가 있습니다.클래스 상속을 위해 WPF UserControl을 가져 오려고 시도했습니다.

는 VisualA, VisualB, VisualC, VisualD

나는 그들 각각의 공유 코드의 힙을 포함하는 일반 "플레이어"클래스를 상속해야합니다 -. 예 : 방법 등 타이머

지금까지 내가 내 컨트롤의 XAML

<UserControl x:Class="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

내가 잘못 뭐하는 거지 : 나는 다음과 같은 오류를 받고 있어요,

<local:VisualA></local:VisualA> 

을하지만 내 창에서

Partial Public Class VisualA 
    Inherits Player 
End Class 

Public Class Player 
    Inherits UserControl 
End Class 

, 나는 정상으로 해당 UserControl을 참조하는거야?

또한 상속 된 클래스 (Player) 내의 코드 (즉, 메소드)가 UserControl의 컨트롤에 이름으로 참조하여 액세스 할 수 있다는 인상을 받았습니다. 맞습니까?

답변

1

XAML의 기본 클래스는 여전히 UserControl로 설정됩니다. 플레이어로 변경하십시오. 또한 Player 유형의 네임 스페이스를 정의해야합니다. 예 :

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

안녕하세요, 한 번에이 문제를 해결하려고했습니다. 'Player'태그가 XML 네임 스페이스에없고 'Player'유형을 찾을 수 없습니다. 어셈블리 참조가 누락되지 않았는지 확인하십시오. 이 오류를 어떻게 해결합니까? – Ben

+0

Ben

+0

네임 스페이스가 있어야합니다. 편집 된 답변을 참조하십시오. – Tyson

관련 문제