2012-07-09 2 views
1

씬 (listview1 및 listview2)에 두 개의 목록보기가 있습니다. listview2의 내용은 listview1의 selecteditem에 따라 달라집니다. 목록보기 1의 항목을 선택하고 다른 목록보기 (listview2)에 세부 정보가 표시되지만 기본적으로 listView2 항목이 필요하지 않습니다.탐색 할 때 listview에서 기본 선택을 사용하지 않도록 설정하는 방법

내가 뭘 관찰하고하는 것은 listView2의 첫 번째 항목도 선택하고 그에서 selectionChanged 이벤트가 이것은

답변

0

(I 사용자가 명시 적으로 선택하는 경우에만 트리거 할) listview2에 대한 트리거 될 일으키는 것입니다 XAML을 사용하여 목록보기 1 &의 이벤트 처리기를 설정했기 때문일 수 있습니다. 데이터 소스와 선택한 항목을 먼저 설정 한 다음 코드 뒤에 이벤트 처리기를 설정하면 제대로 작동합니다.

1

selectionchanged 이벤트가 트리거되고 중지 될 수 없습니다. 그러나 코드 뒤에서 (플래그를 사용하여) 무시할 수 있습니다.

ListViewCollectionViewSource 인 경우 CollectionViewSource은 첫 번째 항목을 선택 항목으로 설정합니다.

ListView가 일반 Collection에 바인딩되면 항목이 자동으로 선택되지 않습니다.

+0

"collection"을 사용하는 경우 metro 스타일 프로젝트에서 콜렉션이 지원되지 않는다는 오류가 발생합니다. 그래서 내 솔루션을 첫 번째로드 및 할당 후까지 변경된 이벤트를 설정하지? – gforg

6

해결 방법이 필요하지 않습니다. ListView에 IsSynchronizedWithCurrentItem="False" 만 설정하면됩니다. 이것은 GridView에도 적용됩니다.

+0

WinRT에서이 기능이 작동하지 않습니다. (Windows 8.1, .NET 4.5.1.0) 내가 한 일은 ListView의 SelectionMode를 없음으로 설정하고 항목의 데이터 템플릿에서 탭된 이벤트를 연결하는 것입니다. 이 방법은 응용 프로그램에서만 사용자 상호 작용을 처리하고 MS가 선택해야한다고 생각하지 않습니다 :) – Jack

관련 문제