문제

기본적으로 내가하고 싶은 것은 사용자가 문자열 값을 입력하고 입력 한 텍스트 (또는 첫 번째 유사 일치)와 일치하는 항목에 목록 상자 스크롤을하도록 허용하는 것입니다.

.scrollintoview () 메소드를 사용하는 경우 문제는 항목이 현재 스크롤 위치보다 목록에 더 낮은 경우 가시 영역의 바닥에 항목을 두는 것입니다. 현재 스크롤 위치보다 목록에서. 목록의 상위 항목으로 만들어 일관성을 만들고 싶습니다 (물론 항목의 마지막 "페이지"중 하나가 아니기 때문이 아닙니다).

나는 그 항목을 선택하여 가짜를 시도했습니다. 엑스 X가 표시되는 목록에서 더 아래로 내려가는 항목 수입니다. 이것은 내려갈 때 작동하지만 백업 할 때 깨집니다. 그리고 현재 내 목록에서 가장 눈에 띄는 지점에 어떤 색인인지를 결정할 수 없었습니다.

Winforms 목록 상자에는 내가 찾고있는 것과 정확히 일치하는 .topindex 속성이 있지만 WPF 동등한 것을 찾을 수 없었습니다. 이것을 달성하는 방법이있는 사람이 있습니까?

미리 감사드립니다!

도움이 되었습니까?

해결책

Scrollintoview를 두 번 사용하여 먼저 목록의 마지막 항목을 표시 한 다음 선택한 항목을 표시하십시오. 이렇게하면 항상 상향식에서 작동합니다. 각 호출 후에 위치가 올바른지 확인하기 위해 각 호출 후에 UpdatElayout에 전화해야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top