Silverlight/Experiment 13

실버라이트 PasswordBox (= Password TextBox) 구현하는 꼼수 하나 소개

꼼수의 발견 아시는 분은 아시겠지만, 실버라이트 2, Beta 2 까지도 아직 패스워드 입력을 위한 PasswordBox가 없었습니다. 그래서 해외의 개발자들이 열심히 노력하여 CodePlex 등을 통해 공유하는 소스가 있기는 했습니다. 그렇지만 방향키 문제라던가, 백스페이스를 눌렀을 때 암호를 한 글자씩 지워지게 할 수 없고 전체가 지워지는 단점들이 고쳐지지 않고 있었습니다. 휴즈플로우에서도 PasswordBox 구현하다가 그냥 기본 컨트롤로 포함되서 나올 때까지 기다리자는 결론을 내린바 있었습니다. 그런데 어제는 이 문제에 관한 정말 기발한 아이디어를 가진 사람을 발견했습니다. 바로 abcd 대신에 *문자만 가득 채운 Password.ttf 폰트를 만들어서 활용하는 방법이었습니다. 감잡으셨죠? ^^ ..

QuadTree

지도, Deep Zoom 등 2차원 솔루션에서, 정보의 구축과 검색을 원활히 하기 위해서, QuadTree 형식의 자료 구조가 구현되는 것이 바람직합니다. 예를들면 방대한 영역에 존재하는 데이터 중, 보이는 화면영역에 해당하는 데이터만 빨리빨리 찾아와야 할 때 유용합니다. QuadTree는 4개의 자식을 갖는 트리구조입니다. 평면을 계속 4분할해 나가면서 트리가 구성됩니다. 1개의 Cell은 maximum capacity를 가지고 있어서, 그 값이 넘게 자식이 존재해야할 필요성이 있을 때 또 분할됩니다. 수직선, 수평선이란 자식까지 정의하여 총 6개의 자식을 갖도록 설계하는 경우도 있습니다. (CAD/CAM 프로그래밍 할 때 그렇게 했었음.) 한번 이렇게 구성된(Build) QuadTree는 영역에 대한..

Silverlight 2 디버깅 중 중단점 안먹을 때 시도해 볼 것

ClientBin, bin 디렉토리 내용물 지우기, '다시 빌드' 해보기, VS2008 종료 후 재실행, 컴퓨터 리부팅 위와 같은 민간요법을 주로 애용 했었는데요. 이렇게 해도 안되면 Project를 아예 새로 만들었던 과격프로그래머!!! 웹사이트 속성에서 해결 할 수 있는 것을 공도님한테 배웠습니다. 속성창에서 Start Options 항목의 Debuggers Group에서 Silverlight 체크박스에 체크를 합니다. (원래 이 항목은 실버라이트 기본프로젝트 만들 당시에 체크가 되어있습니다. 허나 무슨 이유에서인지 쓰다가 이런 문제가 있어서 보면 해제되어 있습니다. -_-;;; 해제되는 단축키라도 있는거야????) 이렇게 하고 나니 다시 중단점에서 프로세스가 잘 걸리네요. 모르면 손발이 두잇이죠....