꼼수의 발견
아시는 분은 아시겠지만, 실버라이트 2, Beta 2 까지도 아직 패스워드 입력을 위한 PasswordBox가 없었습니다.
그래서 해외의 개발자들이 열심히 노력하여 CodePlex 등을 통해 공유하는 소스가 있기는 했습니다.
그렇지만 방향키 문제라던가, 백스페이스를 눌렀을 때 암호를 한 글자씩 지워지게 할 수 없고 전체가 지워지는
단점들이 고쳐지지 않고 있었습니다.
휴즈플로우에서도 PasswordBox 구현하다가 그냥 기본 컨트롤로 포함되서 나올 때까지 기다리자는 결론을
내린바 있었습니다.
그런데 어제는 이 문제에 관한 정말 기발한 아이디어를 가진 사람을 발견했습니다.
바로 abcd 대신에 *문자만 가득 채운 Password.ttf 폰트를 만들어서 활용하는 방법이었습니다.
감잡으셨죠? ^^
실버라이트 기본컨트롤인 TextBox에 폰트만 Password.ttf#Password로 설정하여 사용하면 됩니다.
기발하지 않나요?
자세한 내용은 지난 8월 포스팅된 dev-trick.net(개발꼼수닷넷 정도 되겠네요.)의 이 글를 읽어 보십시오.
문제점
꽤 쓸만할 것 같은 이 꼼수에도 다음과 같은 문제가 있는데요.
2번 문제는 한글폰트를 기반으로 모든 문자를 *로 치환한 '용량 큰' Password.ttf 파일을 만들면 해결될 듯도 하였지만,
IME3가 적용되어 있는 실버라이트 TextBox 같은 경우에는 '감'을 타이핑 했을 경우 세번 타이핑했음에도 불구하고,
조합이 된 후 한 글자가 되어 ***이 아닌 *로 표시되게 될 것이기 때문에 해결이 안됩니다.
그리하여, 결국 이 방법은 100% 해결책이 못됩니다. 특히 유니코드민족에게는...
...그래도 여전히 아이디어 하나는 기발했다고 생각합니다.
아시는 분은 아시겠지만, 실버라이트 2, Beta 2 까지도 아직 패스워드 입력을 위한 PasswordBox가 없었습니다.
그래서 해외의 개발자들이 열심히 노력하여 CodePlex 등을 통해 공유하는 소스가 있기는 했습니다.
그렇지만 방향키 문제라던가, 백스페이스를 눌렀을 때 암호를 한 글자씩 지워지게 할 수 없고 전체가 지워지는
단점들이 고쳐지지 않고 있었습니다.
휴즈플로우에서도 PasswordBox 구현하다가 그냥 기본 컨트롤로 포함되서 나올 때까지 기다리자는 결론을
내린바 있었습니다.
그런데 어제는 이 문제에 관한 정말 기발한 아이디어를 가진 사람을 발견했습니다.
바로 abcd 대신에 *문자만 가득 채운 Password.ttf 폰트를 만들어서 활용하는 방법이었습니다.
감잡으셨죠? ^^
실버라이트 기본컨트롤인 TextBox에 폰트만 Password.ttf#Password로 설정하여 사용하면 됩니다.
기발하지 않나요?
자세한 내용은 지난 8월 포스팅된 dev-trick.net(개발꼼수닷넷 정도 되겠네요.)의 이 글를 읽어 보십시오.
문제점
꽤 쓸만할 것 같은 이 꼼수에도 다음과 같은 문제가 있는데요.
1) ********로 표현된 패스워드를 복사하여 메모장 같은 곳에 붙이기 하면 원래의 글자가 나온다.
2) 한글입력 시 한글이 그냥 화면에 표시된다.
(테스트를 진행해준 공도씨에게 감사 ^^)2) 한글입력 시 한글이 그냥 화면에 표시된다.
2번 문제는 한글폰트를 기반으로 모든 문자를 *로 치환한 '용량 큰' Password.ttf 파일을 만들면 해결될 듯도 하였지만,
IME3가 적용되어 있는 실버라이트 TextBox 같은 경우에는 '감'을 타이핑 했을 경우 세번 타이핑했음에도 불구하고,
조합이 된 후 한 글자가 되어 ***이 아닌 *로 표시되게 될 것이기 때문에 해결이 안됩니다.
그리하여, 결국 이 방법은 100% 해결책이 못됩니다. 특히 유니코드민족에게는...
...그래도 여전히 아이디어 하나는 기발했다고 생각합니다.
'Silverlight > Experiment' 카테고리의 다른 글
인터넷지도에 대한 단상 (부제 : AJAX vs. 실버라이트) (0) | 2009.02.20 |
---|---|
다음맵을 실버라이트로 맛보기 (17) | 2009.02.16 |
QuadTree 검색 Live Demo (4) | 2009.01.22 |
QuadTree가 어떻게 분화되는지 보여주는 Live Demo (2) | 2009.01.22 |
실버라이트 2 RC0에서 HttpUtility.UrlEncode 정상적 사용이 가능하네요. (0) | 2008.10.06 |
QuadTree (1) | 2008.03.12 |
Silverlight 2 디버깅 중 중단점 안먹을 때 시도해 볼 것 (0) | 2008.03.12 |