AvalonEdit에서 마우스를 두 번 클릭하는 것과 비슷한 단어를 선택하는 도우미 메서드가 있습니까? SelectWordFromCurrentCaretPosition 함수를 작성해야합니다.AvalonEdit에서 더블 클릭과 같은 단어를 선택하십시오.
1
A
답변
1
아니요, 이것은 API에서 노출되지 않습니다. EditingCommands
MoveLeftByWord
(Ctrl + 왼쪽)과 SelectRightByWord
(Ctrl + Shift + 오른쪽)을 서로 실행 한 후에 닫을 수 있지만, 단어의 시작 부분에 캐럿이 있으면 원하는 효과가 없습니다.
EditingCommands.MoveLeftByWord.Execute(null, textEditor.TextArea);
EditingCommands.SelectRightByWord.Execute(null, textEditor.TextArea);
또는 직접 구현할 수도 있습니다. 단어 경계를 감지하는 논리는 VisualLine.GetNextCaretPosition(..., CaretPositioningMode.WordBorder)
입니다.
당신은 더블 클릭 로직을 구현하는 방법을 볼 수 AvalonEdit 소스 코드를 볼 수 있습니다 당신은 Ctrl 키 + 왼쪽과를 구현하는 CaretNavigationCommandHandler
의 소스 코드를보고 할 수 있습니다, 또한 SelectionMouseHandler.GetWordAtMousePosition()
Ctrl + 오른쪽 단축키.