2010-07-09 5 views
2

사용자가 입력 한 텍스트로 필터링되는 목록보기가 있습니다.WPF 목록보기 필터링 된 항목

목록보기에서 보이는 항목을 가져 오는 방법이 있습니까?

+0

일부 코드는 게시 할 수 있습니까? 예를 들어 필터링 방법을 알 수 있습니까? 감사! –

답변

2

virtualization (또는 나중에 소개 함)을 사용하는 경우 목록 항목의 visible 속성을 사용하는 솔루션이 필터와 일치하는 항목을 모두 반환하지 않을 수도 있습니다.

더 신뢰할 수있는 솔루션은 기본 컬렉션에 대해 술어를 다시 실행하는 것일 수 있습니다.

1.

: 당신이 원하는 것을 달성하기 위해

1

, 나는 다음과 같은 솔루션을 제안한다. 뷰 모델에서는 데이터 소스에서 얻은 모든 데이터가 포함 된 목록을 만듭니다.

2.

var myList = new List<string>(); 

는 사용자가 텍스트를 입력 할 때마다 얻을 수 필터링 된 목록을 작성, 당신은 입력 된 텍스트를 기반으로 데이터를 필터링합니다.

var filteredList = myList.FindAll(myFilter); 

여기서 myFilter는 몇 가지 기준에 따라 데이터를 필터링하는 방법입니다.

3.

목록보기 컨트롤의 ItemsSource에 필터링 된 목록 바인딩

.

따라서 현재 표시된 항목에 액세스 할 수 있습니다.