WPF;单击我的ListView中的空白区域时如何取消选择所有我选择的项目
当我有多个(甚至一个)WPF;单击我的ListView中的空白区域时如何取消选择所有我选择的项目,wpf,listview,Wpf,Listview,当我有多个(甚至一个)所选项目时,我想取消选择所有所选项目,然后在我的列表视图中的空白处按simple单击(空白=非行) 这是我的“取消选择所有项目”功能: private void DeselectAllListViewItems() { MyListView.SelectedItems.Clear(); } private void MyListView_MouseDown(object sender, MouseButtonEventArgs e) { if (MyLi
所选项目时,我想取消选择所有所选项目,然后在我的列表视图中的空白处按simple单击
(空白=非行)
这是我的“取消选择所有项目”功能:
private void DeselectAllListViewItems()
{
MyListView.SelectedItems.Clear();
}
private void MyListView_MouseDown(object sender, MouseButtonEventArgs e)
{
if (MyListView.SelectedIndex == -1)
DeselectAllListViewItems();
}
我尝试使用此函数获取所选索引:
private void DeselectAllListViewItems()
{
MyListView.SelectedItems.Clear();
}
private void MyListView_MouseDown(object sender, MouseButtonEventArgs e)
{
if (MyListView.SelectedIndex == -1)
DeselectAllListViewItems();
}
但如果我有几个选定的项目(或一个…),选定的索引将永远不会是-1。
那么,我如何区分我的鼠标单击
是在空白处,而不是在项目行上呢?下面的代码运行得很好
private void MyListView_MouseDown(object sender, MouseButtonEventArgs e)
{
HitTestResult r = VisualTreeHelper.HitTest(this, e.GetPosition(this));
if (r.VisualHit.GetType() != typeof(ListBoxItem))
listView1.UnselectAll();
}
这可能重复回答您的问题吗?