我有一个ListView与几个项目,所以每当我选择一个特定的项目,将发生相应的事件。此外,我还希望创建一些事件,当用户单击以清空ListView内的空间(没有项目时)。但是,我试图为ListView创建MouseClick和SelectionChanged,但仍无法检测到鼠标单击外部项目。如何检测鼠标单击外部列表视图项目?
0
A
回答
0
这可能是你的设计范围以外的一些工作,但是这是什么样的东西,会是一个很容易做到在MVVM设计中。与其不必担心用户是否单击某个项目或ListView中的任何其他非项目空间,您可以只使用OneWayToSource或TwoWay将属性绑定到ListView的SelectedItem。然后,只要设置了该值,就可以在属性的setter字段中执行任何您想要的代码。
在您的XAML:
<ListView SelectedItem="{Binding YourSelectedItem Mode=OneWayToSource}"></ListView>
然后在视图模型作为DataContext的为您的ListView:
private object yourSelectedItem = new object();
public object YourSelectedItem
{
get { return yourSelectedItem; }
set
{
yourSelectedItem = value;
CorrespondingEvent();
}
}
0
您可以捕获MouseDown事件 - 它会为外部空间
相关问题
- 1. NSTableView:检测鼠标单击行和列
- 2. 检测鼠标单击列表框项目与焦点设置为False
- 3. 检测鼠标单击是否不在列表框中的项目[C#]
- 4. 在边框外部检测鼠标左键(单击)WPF MVVM
- 5. 列表视图项目单击事件
- 6. Android ListPopupWindow检测点击列表外部
- 7. 从列表视图检索项目单击“_ID”值
- 8. 如何将项目添加到按钮单击列表视图?
- 9. 如何检测鼠标点击python 3.6.1
- 10. 如何检测鼠标点击QLineEdit
- 11. 如何检测鼠标中键点击?
- 12. 如何检测鼠标点击
- 13. 处理列表视图项目内的项目单击事件
- 14. 检测鼠标单击控件数组
- 15. 检测鼠标单击mfc/ole
- 16. 检测窗体外部的鼠标点击
- 17. 检测鼠标是否在GroupBox外部被点击
- 18. 单击列表视图中的项目,以调出新视图
- 19. wxPython:检测鼠标点击位图
- 20. VB.NET:如何检测集中控制之外的鼠标点击
- 21. 检测鼠标单击Java小程序外
- 22. GLUT鼠标点击检测
- 23. 检测鼠标点击
- 24. SFML鼠标点击检测
- 25. 鼠标点击扩展器+在列表视图中选择项目问题
- 26. 鼠标单击列表框中的选定项目取消选择oders项目
- 27. 检测鼠标点击spark.components.List项目,却忽略箭头键
- 28. 如何重新排列列表视图项目到列表视图顶部
- 29. 如何更新列表视图文本点击列表视图项目
- 30. 列表视图项目点击
WPF或形式?使用标签。 – 2014-10-30 04:23:14
为什么你需要检测项目外的鼠标点击?你上面说过,当你点击一个ListViewItem时,你想要一个事件触发,对吧? – furkle 2014-10-30 04:37:10
@furkle,因为我想当用户点击列表视图外,我重置了一些标志。 – Bent 2014-10-30 04:55:15