2011-11-26 1 views
0

빠른 질문. 가능할 수도 있습니다.Windows Mobile, Silverlight - 컨트롤을 배치 할 화면에 배치하지 마십시오.

기본적으로 화면에 이미지를 표시하는 메소드가 있습니다. 그러나 .... 내가 원할 때 이미지가 놓이지 않습니다.

이 코드입니다 :

leafArray[0].Margin = new Thickness(0, 32, 0, 0); 
leafArray[1].Margin = new Thickness(109, 32, 0, 0); 
leafArray[2].Margin = new Thickness(204, 32, 0, 0); 
leafArray[3].Margin = new Thickness(240, 32, 0, 0); 
leafArray[4].Margin = new Thickness(309, 32, 0, 0); 
leafArray[5].Margin = new Thickness(446, 32, 0, 0); 

for (int i = 0; i < leafArray.Length; i++) 
    { 
    LayoutRoot.Children.Add(leafArray[i]); 
    } 

지금 .... 이미지가 에뮬레이터에 표시 마세요 ...하지만 난 것으로 그들에게 어디는 그렇지 않다! 오히려 그것은 항상 오른쪽 상단에 있습니다 ... 마치 거기에 컨테이너가 있기 때문에 거의 그들이 자신을 배치하는 것처럼입니다. 어느 쪽이 분명히 그렇지 않은가! 나는 단 하나의 패널을 가지고있다 ... RootPanel.

도움이 될 것입니다! 고맙습니다!

+0

당신은 또한 XAML을 게시 할 수 없습니다에 캔버스 수있다? – oltman

답변

1

그리드 대신 캔버스를 사용해 볼 수 있습니다. 그리고 이미지가이

Canvas.SetTop(this.leafArray[0],32); 
Canvas.SetLeft(this.leafArray[0],0); 
Canvas.SetTop(this.leafArray[1],32); 
Canvas.SetLeft(this.leafArray[1],109); 
... 

for (int i = 0; i < leafArray.Length; i++) 
{ 
    LayoutRoot.Children.Add(leafArray[i]); 
} 

당신이 LayoutRoot를 시도 보여주는 전에 XAML 코드

+0

Ok ... 할 때 : Canvas.SetLeft (leafArray [0], 1); Canvas.SetTop (leafArray [0], 32); 그것은 나에게 NullReferenceException을주고 위의 코드를 가리킨다. 이 문제를 어떻게 해결할 수 있습니까? 그것은 새로운 객체를 인스턴스화하기 위해 "새로운"키워드를 사용하기를 원하지만 ... 나는 어떤 객체도 여기에 생성하지 않는다. ... – Subby

+0

은 yor leafArray가 위치를 설정할 때 초기화 되는가? 나는 항목이 아니라 배열을 의미합니다. – jcvegan

관련 문제