2011-12-30 1 views

답변

4

SelectionChanged 이벤트를 처리 할 수 ​​있습니다. XAML에서

는이 같은 텍스트 상자를 정의

<TextBox x:Name="myTextBox" SelectionChanged="TextBox_SelectionChanged" /> 

다음, 당신은 방법 커서 변경 처리 쓰기 : 그것은 초점을 얻기에, 그래서 모든 캐럿 변화에 발생

private void TextBox_SelectionChanged(object sender, RoutedEventArgs e) 
{ 
    int caretPosition = myTextBox.CaretIndex; 

    //put your handling code here... 
} 

을, 화살표 키를 사용하여 커서를 움직이거나 마우스로 커서 위치를 변경하는 경우

이 텍스트 상자에서이 동작이 필요한 경우 012를 기반으로 자신 만의 clas를 만들 수도 있습니다과 같은 방식으로 나만의 이벤트를 만듭니다.

이 테스트는 WPF 프로젝트에서 수행되었지만 Silverlight 프로젝트에서도 작동합니다.

0

허용되는 대답은 사실 정확하지만 예를 들어 글자가 하나이고 왼쪽에서 오른쪽으로 선택하면 CaretIndex은 바뀌지 않으므로 CaretIndex의 값은 1이고, 하지만 값은 0입니다.