为了账号安全,请及时绑定邮箱和手机立即绑定

WPF 从动态集 ListViewItem 中获取 MouseHover 事件

WPF 从动态集 ListViewItem 中获取 MouseHover 事件

C#
收到一只叮咚 2021-11-14 17:35:55
如何MouseOver从动态集中获取事件ListViewItems?XAML:<ListView Name="ListView" x:FieldModifier="public" ItemsSource="{Binding FileDataList}" Grid.Row="3" Grid.Column="3" Grid.ColumnSpan="8" Grid.RowSpan="12">           <ListView.View>        <GridView>            <GridViewColumn Header="Filename" DisplayMemberBinding="{Binding Name}" Width="Auto"/>            <GridViewColumn Header="Change date" DisplayMemberBinding="{Binding Date}" Width="Auto"/>            <GridViewColumn Header="Type" DisplayMemberBinding="{Binding Type}" Width="Auto"/>            <GridViewColumn Header="Size" DisplayMemberBinding="{Binding Size}" Width="Auto"/>        </GridView>    </ListView.View>            </ListView>后面的代码:fileDataList.Add(new FileData() { Name = System.IO.Path.GetFileNameWithoutExtension(filename), Date = File.GetLastWriteTime(filename), Type = System.IO.Path.GetExtension(filename), Size = GetFileSize(filename) });这是列表:public List<string> files = new List<string>();private ObservableCollection<FileData> fileDataList = new ObservableCollection<FileData>();
查看完整描述

1 回答

?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

在ListView的资源中设置以下样式:


 <ListView.Resources>

       <Style TargetType="ListViewItem">

          <EventSetter Event="MouseEnter" Handler="ListViewItem_MouseEnter" />

          <EventSetter Event="MouseLeave" Handler="ListViewItem_MouseLeave" />

       </Style>

 </ListView.Resources>

在后面的代码中,使用以下代码来确定当前悬停的项目。


private ListViewItem _currentItem = null;

private void ListViewItem_MouseEnter(object sender, System.Windows.Input.MouseEventArgs e)

{

    var item = sender as ListViewItem;

    if (!Equals(_currentItem, item))

    {

        _currentItem = item;


        // code to update window 

    }

}


private void ListViewItem_MouseLeave(object sender, System.Windows.Input.MouseEventArgs e)

{

    _currentItem = null;

}


查看完整回答
反对 回复 2021-11-14
  • 1 回答
  • 0 关注
  • 356 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信