2013-05-17 3 views
0

과 위치는 다음 코드가 있습니다WPF - 동적으로 캔버스

<Grid> 
    <Canvas Grid.Row="0" x:Name="drawingSurface" Background="White" ClipToBounds="True" 
      MouseLeftButtonDown="drawingSurface_MouseLeftButtonDown" 
      MouseLeftButtonUp="drawingSurface_MouseLeftButtonUp" 
      MouseMove="drawingSurface_MouseMove"> 
    </Canvas> 
    <Grid Name="pnlProperties" Visibility="Hidden"/> 
</Grid> 

이 창을 시작한 후, 사용자가 자신의 관심 영역을 선택을 (내가 MouseMove, MouseLeftButtonDown, MouseLeftButtonUp을 잡을).

그러면 관심있는 좌표의 왼쪽 모서리에있는 선택된 영역 아래에 패널 pnlProperties를 표시하려고합니다.

어떻게하면됩니까?

답변

1

을 사용하여 Grid의 좌표를 설정 한 후 CanvasGrid를 넣고 :

YourCanvas.SetLeft(pnlProperties, MOUSE.X) 
YourCanvas.SetTop(pnlProperties, MOUSE.Y); 
+0

나는 그것을 할 수 없습니다 대신 내 스크린 샷의 캔버스를 표시 회색 고체 상자 때문에 ... –

+0

내가 할 수있는 XAML (중요)을 변경하지 않고 수행합니까? –

+0

왜 중요한가요? 나는 아무 이유도 보지 않는다. 또한 캔버스 개념을 도려내고 TranslateTransform을 그리드에 추가하고 X/Y로 재생할 수 있습니다. –