2012-09-06 8 views
2

창의 내용을 두 번 정의 할 수는 없지만 다른 모눈 위에 모눈을 오버레이하는 방법이 있습니까?다른 그리드 위에 그리드를 레이어 할 수 있습니까?

내 경우에는 체스 게임을 만들고 하나의 그리드에서 조각과 UI를 관리하고 흑백 그리드를 관리하기 위해 다른 그리드를 사용하고 싶습니다. 게임 중에 올바른 움직임 인 사각형에 불투명 사각형을 추가하고 싶기 때문에이 방법으로 (다른 Z 인덱스로 하나의 격자를 사용하는 것과는 대조적으로)하고 싶습니다. 별도의 격자를 사용하는 경우 myGrid.Children.Clear()을 수행하여 사각형 UI를 지우지 만 조각은 그대로 유지할 수 있습니다.

또 다른 해결책은 특정 Z 색인의 모든 하위 항목을 지우는 것입니다. 그게 가능하니?

도움을 주셔서 감사합니다. 필요한 경우 코드를 게시 할 수 있습니다.

+0

현재 격자를 사용하여 10으로 지우려는 조각의 Z 색인을 설정하고 있습니다. 그런 다음 하위를 반복하고 Z 색인 == 10에서 0으로 불투명도를 설정합니다. _very_ slow입니다. – Adam

+0

더 잘 작동 할 수있는 항목이 있습니다 ... 사각형의 배열에 표시해야 할 항목을 추적하고 있습니다. 필요한 경우 Array의 상태에 따라 UI를 업데이트합니다. 훨씬 빠릅니다. – Adam

답변

7

위에 다른 하나 개의 격자를 오버레이 :

<Grid> 
<Grid x:Name="grid1" /> 
<Grid x:Name="grid2" /> 
</Grid> 
+0

고마워요! 이것은 제가 원했던 것 같습니다. 두 격자를 다른 격자 태그에 넣지 못했습니다. 그래서 오류가 발생했습니다. – Adam

관련 문제