2014-01-30 7 views
0

개체를 끌 수있는 Canvas를 구현하고 싶습니다.Canvas에서 상속 받기

namespace ISC_CG 
{ 
    public class DragCanvas : Canvas 
    { 
     protected override void OnPreviewMouseLeftButtonDown(MouseButtonEventArgs e) 
     ... 

그리고 XAML에서 : 나는

The name "DragCanvas" does not exist in the namespace "clr-namespace:ISC_CG".

실종 :

<Window x:Class="ISC_CG.MainWindow" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     x:Name="mainWindow" 
     DataContext="{Binding ElementName=mainWindow}" 
     xmlns:cg="clr-namespace:ISC_CG" 
     xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit" 
     Title="MainWindow" Height="350" Width="525"> 
    <cg:DragCanvas Name="mainCanvas" Background="{StaticResource checkers}" ClipToBounds="True" Focusable="True"> 

하지만 오류를 얻을 그래서 난 그냥 캔버스에서 상속 및 마우스 이벤트를 오버라이드 (override) 할 수 생각 여기 몇 걸음?

감사합니다. -

+0

은 창과 같은 어셈블리에있는 캔버스입니까? – thumbmunkeys

+0

프로젝트를 만들려고 했습니까? 컴파일 될 때까지이 오류가 발생합니다. – Matt

+0

@thumbmunkeys 네, 모두 같은 프로젝트에 있습니다. –

답변

1

은 참고로 여기에 내가 그것을 해결 방법은 다음과 같습니다

  1. 내가 코드 숨김에 대한 모든 참조를 제거했다가 "mainCanvas"
  2. 그때 다시 컴파일하고 새로운 XAML에 오류가 발생했습니다
  3. 다음에 라인

    < CG : DragCanvas 이름 = "mainCanvas"배경 = "{정적 리소스 검사기}"ClipToBounds = "참"Focusable이 = "참">

"이름"을 "x : 이름"으로 바꿔 줘야한다고 말해주었습니다.