2013-02-20 2 views
0

일부 입력 컨트롤 (텍스트 상자 등)을 호스트하는 ItemsControl이 있습니다. ItemsControl의 배경을 클릭하면 포커스가 ItemsControl의 첫 번째 항목으로 자동 변경됩니다.클릭하면 ItemsControl이 포커스를 변경하지 못하도록 함 (Silverlight)

이 문제를 방지 할 방법이 있습니까? 이미 BaseControl을 호출하지 않고 OnGotFocus를 재정의하려했지만 작동하지 않았습니다.

고맙습니다.

자크.

답변

1

좋아, 나는 첫 번째 요소에 초점을 맞추고있는 원인을 알아 냈다. 필자는 사용자 정의 ItemsControl을 호스팅하는 ScrollViewer를 사용하고 있습니다. ItemsControl과 컨테이너 안에는 IsTabStop이 false로 설정되어 있습니다. 포커스 변경은 OnMouseLeftButtonDown 메서드의 ScrollViewer에 의해 수행됩니다.

ScrollViewer가 봉인 되었기 때문에 e.Handled를 true로 설정하려면 컨테이너 및 ItemsControl에서 OnMouseLeftButtonDown을 재정의해야했습니다. 이게 내 문제를 해결했습니다.

관련 문제