且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

WPF ListView - 检测何时单击所选项目

更新时间:2022-11-04 09:17:12

使用 ListView.ItemContainerStyle 属性为您的 ListViewItems 提供一个 EventSetter,它将处理 PreviewMouseLeftButtonDown 事件.然后,在处理程序中,检查是否选择了被点击的项目.

Use the ListView.ItemContainerStyle property to give your ListViewItems an EventSetter that will handle the PreviewMouseLeftButtonDown event. Then, in the handler, check to see if the item that was clicked is selected.

XAML:

<ListView ItemsSource={Binding MyItems}>
    <ListView.View>
        <GridView>
            <!-- declare a GridViewColumn for each property -->
        </GridView>
    </ListView.View>
    <ListView.ItemContainerStyle>
        <Style TargetType="ListViewItem">
            <EventSetter Event="PreviewMouseLeftButtonDown" Handler="ListViewItem_PreviewMouseLeftButtonDown" />
        </Style>
    </ListView.ItemContainerStyle>
</ListView>

代码隐藏:

private void ListViewItem_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
    var item = sender as ListViewItem;
    if (item != null && item.IsSelected)
    {
        //Do your stuff
    }
}