PasswordBox 2

실버라이트 PasswordBox.Password는 DataBind가 안된다?

PasswordBox의 Password 프로퍼티에 데이터 바인딩을 시도해 보신 적이 있으신가요? 다음과 같이 AG_E_RUNTIME_MANAGED_UNKNOWN_ERROR 에러가 나실 거예요. 우리가 뭘 잘못한 걸가요? 그렇다기 보다는 PasswordBox.Password 프로퍼티는 데이터바인딩을 지원하지 않고 있다네요. 실버라이트 포럼의 관련문답을 보면, Silverlight Product Manager인 mark가 다음과 같이 답을 해 놓았습니다. 패스워드가 평범한 문자들(****가 아닌)로 보내지는 것을 방지하려고 데이터 바인드가 지원되지 않고 있고, WPF에서와 같이 행동하고 있는 것이라는 군요. 보안이슈네요. Password property cannot be bound to. This is co..

Silverlight/Lecture 2009.02.06

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

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