2009-06-18 5 views
1

WPF를 사용하여 가상 키보드로 passwordbox 컨트롤을 사용하려면 어떻게해야합니까? 텍스트 상자 컨트롤을 사용하면 캐럿을 다음 텍스트 위치로 옮기는 것이 매우 간단합니다. caret 위치를 공개하지 않는 passwordbox에서는 그렇지 않습니다.wpf passwordbox caret

나는 내 자신을 파생해야합니까? 약한 소스처럼 보입니다.

답변

1

당신은 PasswordBox의의 선택 설정이 뭔가를 시도 할 수 있습니다 : 위의 대답이 제공

// set the cursor position to 2... or length of the password 
SetSelection(passwordBox1, 2, 0); 

// focus the control to update the selection 
passwordBox1.Focus(); 

: 커서의 위치를 ​​설정하기 위해 다음과 같이 호출, 그 후

private void SetSelection(PasswordBox passwordBox, int start, int length) { 
    passwordBox.GetType().GetMethod("Select", BindingFlags.Instance | BindingFlags.NonPublic) 
         .Invoke(passwordBox, new object[] { start, length }); 
} 

Andrew Jackson에 의해 그것은 잘 작동합니다.

+0

현재 캐럿 위치는 어떻게 결정하겠습니까? –