2
ListView의 경우 어떻게하면 항목을 선택하는 동안 컨트롤 단추를 누른 상태에서 선택한 인덱스의 선택을 취소 할 수 있습니까? 사용자가 ListView에서 적어도 하나의 항목을 선택했는지 어떻게 확인합니까?
당신에게있는 ListView에 PreviewMouseButtonDown 이벤트를 구독ListView의 경우 어떻게하면 항목을 선택하는 동안 컨트롤 단추를 누른 상태에서 선택한 인덱스의 선택을 취소 할 수 있습니까? 사용자가 ListView에서 적어도 하나의 항목을 선택했는지 어떻게 확인합니까?
당신에게있는 ListView에 PreviewMouseButtonDown 이벤트를 구독대단히 감사합니다. 해당 이벤트 핸들러에서 사용자가 ctrl-clicks를 클릭하고 이벤트가 처리되었음을 표시하면 catch 할 수 있습니다. 그런 다음에 전달되지 않습니다.
andrea가 지적했듯이 바로 가기 키를 사용하여 선택을 취소 할 수 있습니다. 대신 SelectionChangedEvent에 가입해야한다고 생각합니다. 그런 다음 제거 된 항목을 반복하여 선택하여 주석을 달 수 있습니다.
void list_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
foreach (var item in e.RemovedItems)
{
myList.SelectedItems.Add(item);
}
}
이것은 충분하지 않으며 Ctrl + Space, 스타일러스 또는 다른 방법으로 항목을 선택할 수도 있습니다. –
귀하의 의견에 따라 업데이트 –
이 경우 이벤트 처리기를 호출 할 때 SelectionChanged 이벤트로 등록 된 다른 처리기가 이미 호출되어 응용 프로그램의 논리가 손상 될 수 있습니다. –