실버라이트에서 datagrid를 사용할때
안에 기본 textbox나 textblock이 아니라 checkbox나 combobox등을 넣어서 사용해야 할 때도 있져.
근데 checkbox를 사용해서 checked이벤트를 이용해 뭔가 해야 할 때가 있습니다.

근데 이놈이
실제로 체크를 하지 않은넘들까지 지 혼자 체크가 되는 경우가 생깁니다.
(찾아보니 checkbox만의 문제는 아니라 datagrid의 스크롤과 관련된 문제로 보이네요)

위에 세놈을 체크하고 스크롤로 내려보면 아래에 엄한 애들까지 체크가 되어있고.
근데 이게 UI상에서는 체크가 되어 있지만 실제로 체크 이벤트를 타지는 않기 때문에
체크때 뭔가 작업을 해준게 있다면 거기엔 적용이 안됩니다. 허허...

해결방법은..
그냥 scrollviewer로 datagrid를 감싸주면 됩니다.-_-ㅋ
이게 정말 단순히 datagrid에서 스크롤이 일어날때 발생하는 문제인가 보네요

datagrid의 VerticalScrollBarVisibility를 hidden을 주고
감싸고 있는 scrollviewer에 VerticalScrollBarVisibility를 auto를 주고 테스트 해보니
잘 되네요..

실버라이트가 참.
이래저래 요상한 부분이 많네요. -_-
System.Data도 쓸수 있게 해줬으면. ㅠㅠ
by 피요히코~ 2010. 12. 1. 11:21
| 1 |