赞
踩
ListView中只有双击事件,同时里面的ListItem大多也是通过数据绑定获得的,很难在页面上直接操作。
虽然没有单机事件,但是ListView中有一个SelectionChanged事件,可以变相的当作单击事件。
可是这样依然不够,我们需要知道的我们点击的是哪一行,这个可以通过触发事件后通过ListView.SelectionChanged属性来直接获得所点击的那一行中的控件,相当于是直接为每一行添加了一个点击事件。
但是上面这个方法依然有问题,只有改变被选中的项时才会激活该方法。
不过最近我自己研究出了一个可以直接为item添加事件的一个方法,其代码如下所示(这里添加的是双击事件,可以根据需要改成其他的事件):
(查遍了整个网络,竟然没有一个人可以提出像这样靠谱的方法,让我说什么好)
<ListView>
<!-- ListViewItem在查询过数据库后才会生成并显示相应的信息,所以无法在页面上直接编辑 -->
<!-- 通过ListView中的style直接为所有的ListViewItem添加事件 -->
<ListView.Style>
<Style TargetType="ListView">
<Setter Property="ItemContainerStyle">
<Setter.Value>
<Style TargetType="ListViewItem">
<EventSetter Event="MouseDoubleClick" Handler="Item_MouseDoubleClick"/>
</Style>
</Setter.Value>
</Setter>
</Style>
</ListView.Style>
</ListView>
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。