2013-04-25 2 views
1

5 개 항목으로 채워진 _criteria라는 ListView가 있습니다. 의 ListView의 selectionMode = "다중"Listview (Windows store app)의 항목 선택 취소

각 항목을 선택하면, 나는 내가 _crit 선택 변경된 이벤트 핸들러 여기에서 할 수있는 일에 의해 INT의 수를 증가 할 :

private void _crit(object sender, SelectionChangedEventArgs e) 
    { 
     count++; 
     textBox1.Text = "this is "+count; 
    } 

그러나, 하나 ListView 항목 중 선택할 때 수를 2 씩 증가시키고 싶습니다. 어떻게해야합니까? 내가 넣은 경우 :

 if (_criteria.SelectedItem == listViewItem4) 
      count += 2; 

다음에 제공되는 다른 모든 선택 사항에 대해 count가 2 씩 증가합니다. listViewItem4가 선택되었는지 확인하십시오. 또한, 내가 선택을 취소하고 (listViewItem4가 선택 해제 될 때 2 씩 감소하는) 모든 ListViewItem에 대해 카운트를 1 씩 감소시키고 싶습니다. 그러나 SelectionChanged 이벤트에서 선택과 선택 취소를 모두 계산하므로 점점 증가합니다. 나는 무엇을해야합니까?

답변

0

e.AddedItems 및 e.RemovedItems에서 어떤 항목이 목록에 추가/제거되었는지 확인하십시오. listViewItem4가 e.AddedItems에 있으면 어떤 일이 발생했는지 알 수 있습니다.

+0

감사합니다. 내가 찾던 것을 얻을 수있는 코드는 여기에 있습니다 : 개인 무효의 _crit (개체를 보낸 사람, SelectionChangedEventArgs 전자) { foreach는 (e.AddedItems에있는 ListViewItem의 정맥 주사) { 카운트 ++; if (e.AddedItems.Contains (listViewItem4)) count + = 1; } foreach (ListViewItem lv in e.RemovedItems) { count--; if (e.RemovedItems.Contains (listViewItem4)) 카운트 - = 1; } textBox1.Text = "점수는"+ count; } – BBH1023

관련 문제