Как правильно очистить выбор в другом ListView? Например, у меня есть 4 представления списков, и если у меня есть выбор в listView1, то я выбираю новый элемент в listView2, я хочу, чтобы выбор в listView1 не исчез, и элемент в списке viewview2 выбран правильно. Примечание: просмотр списка - это одиночный выбор.Очистка другого списка ListView
<StackPanel>
<ListView x:Name="listView1" />
<ListView x:Name="listView2" />
<ListView x:Name="listView3" />
<ListView x:Name="listView4" />
</StackPanel>
я впервые попробовал:
<StackPanel>
<ListView x:Name="listView1" SelectionChanged="selectionchanged1" />
<ListView x:Name="listView2" SelectionChanged="selectionchanged2" />
<ListView x:Name="listView3" SelectionChanged="selectionchanged3" />
<ListView x:Name="listView4" SelectionChanged="selectionchanged4" />
</StackPanel>
код позади:
private void selectionChanged1(object sender, SelectionChangedEventArgs e)
{
listView2.SelectedItem = null;
listView3.SelectedItem = null;
listView4.SelectedItem = null;
}
private void selectionChanged2(object sender, SelectionChangedEventArgs e)
{
listView1.SelectedItem = null;
listView3.SelectedItem = null;
listView4.SelectedItem = null;
}
...
Проблема, которую я имею, что после того, как выбор в ListView1 и щелкните элемент в listView2, выбор в listView1 очищается, но элемент в спискеView2 не выбран.
Причины в том, что есть (по крайней мере) 2 событий произвели:
- selectionchanged2 уволит, claring выборы в ListView 1,3,4
- , потому что я клиринговый выбор в ListView1, selectionchanged1 также , который очищает выбор в списке. 2,3,4
- Я думаю, выборchanged2 уволен снова.
- Поэтому у меня не было выбора в любом списке.
У вас есть лучшее предложение?
Это прекрасно работает! Таким образом, второй SelectionChanged ничего не изменит, поскольку элемент клиринга - e.AddedItems.Count == 0. Спасибо! – kurakura88