我在WPF中有一个ListView集合。
让我们说的东西是苹果,香蕉,樱桃。
假设用户首先选择了香蕉。
如果用户再次单击“香蕉”,则该项目仍处于选中状态。
如果要选择相同的项目,我想在用户单击时取消选择该项目。
答案 0 :(得分:1)
根据您是否希望选择多个项目,将SelectionMode
设置为Multiple
或处理PreviewMouseLeftButtonDown
容器的ListViewItem
事件:>
private void ListViewItem_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
ListViewItem lvi = (ListViewItem)sender;
if (lvi.IsSelected)
{
e.Handled = true;
lvi.IsSelected = false;
}
}
XAML:
<ListView xmlns:s="clr-namespace:System;assembly=System.Runtime">
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<EventSetter Event="PreviewMouseLeftButtonDown"
Handler="ListViewItem_PreviewMouseLeftButtonDown" />
</Style>
</ListView.ItemContainerStyle>
<s:String>Apple</s:String>
<s:String>Banana</s:String>
<s:String>Cherry</s:String>
</ListView>