Trong WPF, để lấy được đối tượng mà người dùng vừa click chuột trong một ListView, các bạn có thể làm như sau:
Đầu tiên bạn cần đăng ký hàm xử lý cho sự kiện nhấn chuột:
MyListView.MouseDoubleClick += new MouseButtonEventHandler(MyListView_MouseDoubleClick);
void MyListView_MouseDoubleClick(object sender, MouseButtonEventArgs e) { DependencyObject dep = (DependencyObject)e.OriginalSource; while ((dep != null) && !(dep is ListViewItem)) { dep = VisualTreeHelper.GetParent(dep); } if (dep == null) return; MyDataItemType item = (MyDataItemType)MyListView.ItemContainerGenerator.ItemFromContainer(dep); // Do something with the item... }
Dim dep As DependencyObject = CType(e.OriginalSource, DependencyObject) While ((dep IsNot Nothing) AndAlso Not (TypeOf (dep) Is System.Windows.Controls.ListViewItem)) dep = VisualTreeHelper.GetParent(dep) End While If (dep Is Nothing) Then Return End If Dim item As MyDataItemType = CType(MyListView.ItemContainerGenerator.ItemFromContainer(dep), MyDataItemType)
Leave a Reply