본문 바로가기

TechLog

IsHitTestVisible 프로퍼티

Windows Phone에서 실버라이트 기반 앱을 만들 때 UI상의 요소를 감추거나 다시 보여주거나 해야 할 경우가 있다. 보통 화면의 요소를 감추기 위해서 Visibility 프로퍼티를 사용하게 되는데, 화면상에 ‘UI 요소가 있던 위치를 유지하면서’ 요소를 감춰야 할 경우가 있다. 이럴 때에는 Visibility 프로퍼티에 Hidden이라는 열거형 멤버 값을 할당하면 되는데, WP의 실버라이트 런타임에는 이 멤버가 존재하지 않는다.

이럴 경우 요소의 투명도를 조절하는 Opacity 프로퍼티 값을 0으로 설정해서 해당 요소를 화면 상에 보이지 않도록 만들 수 있다. 하지만 문제가 아직도 남아있는데, 버튼이라든가 텍스트 박스의 경우 사용자의 입력에 반응하는 UI 요소이기 때문이다. 화면 상에는 요소가 보이지 않지만, 해당 요소가 있던 자리를 터치하면 요소가 반응하게 되는 것이다.

이 때 사용할 수 있는 프로퍼티가 IsHitTestVisible 프로퍼티이다. IsHitTestVisible 프로퍼티의 값을 False로 지정하면 해당 요소가 사용자의 터치 입력을 무시하게 된다.

HTML의 disabled나 WinForm에서의 enabled 프로퍼티와 비슷한 역할을 한다고 보면 된다.