2011-11-04 1 views
1

DataGridTextColumn에서 파생 된 사용자 지정 열이있는 WPF DataGrid (4.0)가 있습니다.TextBox 커서가 깜박이지 않습니다.

GenerateEditingElement에서 추가 단추가있는 사용자 지정 텍스트 상자 컨트롤을 만들고 사용자가 직접 편집을 시작할 수 있도록 커서를 설정하고 싶습니다.

가장 가까운 것은 캐럿이 표시되지만 깜박이지 않고 편집을 시작하려면 추가 클릭이 필요하다는 것입니다.

다른 모든 것들 (바인딩, ...)은 훌륭하게 작동합니다.

아이디어가 있으십니까?

답변

3

캐럿이 표시되었지만 깜박이지 않으므로 논리 초점이 있지만 키보드 포커스가 아니라고 생각합니다.

컨트롤을 집중 형으로 설정하는 방법은 무엇입니까?

myControl.Focus();은 컨트롤에 논리적 포커스를 제공하지만 키보드 포커스가 없기 때문에 키보드 이벤트에 응답하지 않습니다. 요소 KeyboardFocus를 제공하기 위해 WPF는 여러 초점 범위를 정의 할 수 있기 때문에, 이것은

Keyboard.Focus(myControl); 

을 사용하고, 각각의 범위는 그 자체가 초점을 맞춘 요소의 키보드 포커스

을 가질 수 있습니다 전체 응용 프로그램에서 단 하나의 제어를 할 수 있습니다
+2

tx.Focus()를 내 사용자 정의 컨트롤의 Loaded-Event로 옮겼습니다. (실제로는 사용자 정의 컨트롤입니다.) - 해결 방법으로 작동했습니다. – klawusel

+0

키보드 포커스가 없다면 어떻게 캐럿이 나오죠? 나타나고있어? – Sayka