我有一个WPF ListView,当双击列表视图中的某个项目时,它会打开某个窗口,但我有一个问题。当我双击GridViewColumn时,也会打开一个窗口。有没有办法检测发件人是gridviewColumn还是listView项目?谢谢
发布于 2010-02-04 09:07:31
我假设您正在处理ListView的MouseDoubleClick事件?相反,您应该在ListViewItem上处理该事件,而不是ListView本身。通过在ListView的ItemContainerStyle中设置事件处理程序,可以很容易地做到这一点:
...
<ListView ...>
<ListView.ItemContainerStyle>
<Style TargetType="{x:Type ListViewItem}">
<EventSetter Event="MouseDoubleClick" Handler="YourHandler" />
</Style>
</ListView.ItemContainerStyle>
</ListView>
...发布于 2010-02-04 08:12:50
在事件处理程序中,通常有两个参数,第一个是发送器对象,第二个是EventArguments对象。
您可以使用"is“运算符检查发送者对象的类型:
private void MyEvent(object sender,EventArgs args )
{
if ( sender is GridView ) dothis();
}https://stackoverflow.com/questions/2196442
复制相似问题