2012-04-30 3 views
1

일부 항목이 포함 된 단일 선택 모드의 ListBox가 있습니다. 사용자가 드래그하여 항목을 재정렬 할 수 있다고 구현했습니다 & 드롭. 모든 것은 잘 작동하지만 mousebutton이 내려 가고 커서가 항목 위로 이동하는 경우 목록 상자가 항목을 자동으로 선택하기 때문에보기가 흉하게 보입니다..NET ListBox - 마우스를 사용하여 항목을 선택 해제합니다.

구체적으로 : 일부 상황에서 깜박임을 사용 중지하려면 항목을 다른 항목 위로 반 이상 끌면 항목 만 이동하십시오. item2를 item2 뒤에 놓기 시작하면 item1을 드래그하는 동안 선택해야합니다. 커서가 item2 위로 이동하면 item2가 선택됩니다. 이 동작을 어떻게 제거 할 수 있습니까?

이미 항목을 드래그하는 동안 PreviewMouseMove에서 e.Handled = true로 설정하려고했으나 도움이되지 않습니다.

코드를 보려면 여기를 클릭하십시오. http://pastebin.com/GTj96qV9. 이것은 IList가 DataSource 인 모든 목록 상자에서 드래그하여 내용의 순서를 바꿀 수있게하는 동작입니다.

답변

1

가장 깨끗한 해결책은 ItemsControl에서 상속 받고 내 "선택기"를 구현하는 것이 었습니다.

0

이렇게하면 드롭 파트가 뒤집어 질 수 있지만 ListBoxItem 마우스 캡처를 시도 했습니까? MSDN은 more details about this입니다.

희망이 도움이됩니다.

0

이것은 ListView입니다. 그리고 나는 당신의 코드에 대해 자세히 설명하지 않았습니다. 그러나 ListViewItem에 대한 PreviewMouseLeftButtonDown을 수행하고 설명하는 문제가 없습니다.

관련 문제