학습자료/windows 8 RT

[windows8 RT] 비주얼 트리 - stackpanel(빈공간)에 이벤트 설정

cozyboy 2013. 7. 1. 22:40

 

page -Grid - image

              - Stackpenel - button1

                               - button2

 

1. 위와 같은 비주얼 트리를 가지고 있을때, 만약 button을 누르면 어떠한 레이아웃이 이벤트에 반응할까?

   순서는 button -> stackpenel -> Grid 순으로 버블링이 일어난다.

 

2. 버튼들 사이, 빈공간의 stackpenel을 클릭했을때는 어떠할까?

  Grid 이벤트만 발생한다.(stackpenel 은 무시가 된다)

 

 

XMAL 엔진은 빈공간을 인식하고 이벤트를 실행하지 않는다. 하여 빈 stackpenel에는 'click'이나 'tapped'와 같은 이벤트 핸들러를 붙여도 전혀 실행 되지 않는다.

 

이러한 빈공간에 이벤트를 처리하고 싶다면 백그라운드를 Transparent로 설정하면 된다. 이것은 백그라운드를 지정하지 않는것과 동일한 효과를 가지지만 이벤트를 처리할 수 있는 투명한 표면을 가지게 된다.

 

또한 stackpenel -> grid로의 버블링을 막을 수도 있다.

stackpenel에 이벤트 핸들러에 다음 코드를 추가 하면 된다.

    e.Hangled = true;