2011-12-25 4 views
1

특정 직사각형 사용자 정의 컨트롤이 있습니다. 캔버스의 특정 x-y 좌표에 어떻게 배치 할 수 있습니까? 일단 사용자 정의 컨트롤을 배치하면 이전에 배치 된 컨트롤의 렌더링 된 너비/높이를 기반으로 다음 컨트롤을 배치 할 위치를 평가해야합니다. Silverlight에서 올바르게 수행하는 방법사용자 정의 컨트롤을 캔버스에 배치하는 방법은 무엇입니까?

+0

우리가 한 일의 예와 효과가없는 것을 보여줄 수 있습니까? 그것은 우리가 당신을 도울 수 있도록 도와 줄 것입니다 .. – katit

+0

나는 margin 속성을 사용하여 컨트롤을 배치했습니다. 나는 컨트롤을 배치하고 이미 배치 된 컨트롤의 위치와 크기를 어떻게 배치해야할지 모르겠다. – blitzkriegz

+0

예제는 훌륭하지만 다른 부분의 컨트롤을 정렬하려면 HorizontalAlignment 및 VerticalAlignment를 사용하면됩니다. – katit

답변

2

캔버스 패널 내부에 컨트롤을 배치하려면 Canvas 클래스의 연결된 속성 인 Canvas.Left 및 Canvas.Top을 사용합니다. 당신이 (캔버스의 왼쪽 위 모서리 기준) 100,20에 위치 할 컨트롤을 원하는 경우에 따라서, 당신이 입력하십시오

<Canvas> 
    <Rectangle Canvas.Left="100" Canvas.Top="20"/> 
</Canvas> 

을 다른 방법으로는 코드 숨김에서 이것을 사용할 수 있습니다 : 여러 컨트롤을 동적으로하지만 준비하려는 가지고있는 경우에

yourControl.SetValue(Canvas.LeftProperty,100.0); 
yourControl.SetValue(Canvas.TopProperty,20.0); 

, 당신은 캔버스의 StackPanel에 또는 그리드 intead 사용을 고려할 수 있습니다.

+0

레이아웃 논리를 다시 사용할 수 있으면 사용자 지정 패널을 만드는 것이 좋습니다. http://msdn.microsoft.com/en-us/library/ cc903936 % 28v = vs.95 % 29.aspx – Mart

관련 문제