ListView를 사용하여 목록에 항목을 표시하고 있습니다. 사용자는 항목을 직접 선택하거나 '사전 선택 키'를 사용하여 지정된 속성이있는 항목을 선택할 수 있습니다.WPF Listview - '시야'외부 항목 선택
for(int i;i<MyListView.Items.Count;++i)
{
if(/*... Check if the items should be selected ...*/)
(MyListView.ItemContainerGenerator.ContainerFromIndex(i) as ListViewItem).IsSelected = true;
}
이 excecution시 볼 수 있습니다 항목에 대해 완벽하게 작동합니다 :
내가 그런 일을 사용하는 항목을 확인합니다. 그러나 표시되지 않는 항목의 경우 ContainerFromIndex()는 null을 반환합니다. 나는 이것이 가상화와 관련이 있다고 들었고 List는 '시야'의 위 또는 아래 항목에 대해 알지 못한다고 들었다. 그러나 수동으로 선택하면 List of the field의 'field of view'에서 항목을 선택하는 것이 어떻게 가능합니까?그리고 '시야'밖에서 항목을 선택하는 방법은 무엇입니까? 그게 가능해야한다고 생각합니다. 어떤 도움
감사합니다, 마크
하지만 아이템을 선택할 때 보이지 않게 스크롤하고 뒤로 스크롤하면 아이템이 선택됩니다. 이 정보는 반드시 저장해야합니다. 이게 실제로 접근 가능하지 않니? – Marks
글쎄, 선택한 항목은'SelectedItems'를 통해 접근 할 수 있습니다. Add() 메서드가있는 IList를 반환합니다. 해당 목록에 선택한 항목을 추가하려고 했습니까? 즉, ListView에 표시 할 컬렉션에 관계없이이 IList에 항목을 추가해야합니다. 인덱스 만 사용하여이를 수행 할 수있는 방법이 없을 수도 있습니다. –
이 답변을 주셔서 감사합니다. – Mark