wpf 如何给ListView中的每一个item添加单击事件

博客介绍了在WPF中如何为ListView的每一项添加鼠标双击事件,通过设置ListView的ItemContainerStyle属性,利用EventSetter绑定MouseDoubleClick事件,实现了在没有单击事件的情况下模拟单击效果。这种方法解决了ListView中直接操作列表项的难题,并提供了详细的XAML代码示例。
摘要由CSDN通过智能技术生成

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>
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值