如何在WPF中的ListView中引用项目 [英] How to refer to item in ListView in WPF
本文介绍了如何在WPF中的ListView中引用项目的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想创建一个列表视图,在每一行的最后一列中都包含一个按钮.若要单击该按钮,将启动一个句柄(VB.NET),该句柄应使用列表视图同一行中其他列的值.为了引用此值,我使用了SelectedItem,但我认为这是不正确的,因为用户可以单击未选择的行中的按钮.请问什么是正确的财产?
谢谢
Hi,
I want to create a listview, which include in each row a button in the last column. To click on the button starts a handle (VB.NET), that should use the values of the other columns of the same row of the listview. To refer to this values I haves used SelectedItem, but I see this is not correct because the user can click on a button in a row that is not selected. Please what is the right property?
Thanks
推荐答案
你好,
您肯定可以让事件的发送者获得按钮并使用VisualTreeHelper( http://msdn.microsoft.com/en-us/library/system.windows.media.visualtreehelper.aspx [
Hello,
You surely can get the sender of the event to get the button and use the VisualTreeHelper (http://msdn.microsoft.com/en-us/library/system.windows.media.visualtreehelper.aspx[^]) to get the clicked row.
Hope this helps you !
您好,
谢谢您的回答.我已经试过了:
strText ="Ebene 1"&VisualTreeHelper.GetParent(sender).ToString和vbCrLf&_
"Ebene 2"和VisualTreeHelper.GetParent(VisualTreeHelper.GetParent(sender)).ToString和vbCrLf和_
"Ebene 3"和VisualTreeHelper.GetParent(VisualTreeHelper.GetParent(VisualTreeHelper.GetParent(sender))).ToString和vbCrLf和_
"Ebene 4"和VisualTreeHelper.GetParent(VisualTreeHelper.GetParent(VisualTreeHelper.GetParent(VisualTreeHelper.GetParent(sender)))).ToString和vbCrLf
并得到
Ebene 1 System.Windows.Controls.ContentPresenter
Ebene 2 System.Windows.Controls.GridViewRowPresenter内容:System.Data.DataRowView Columns.Count:7
Ebene 3 System.Windows.Controls.Border
Ebene 4 System.Windows.Controls.ListViewItem:System.Data.DataRowView
请下一步是什么?
最好的问候
彼得
Hello,
thank you for your answer. I''ve tried this:
strText = "Ebene 1 " & VisualTreeHelper.GetParent(sender).ToString & vbCrLf & _
"Ebene 2 " & VisualTreeHelper.GetParent(VisualTreeHelper.GetParent(sender)).ToString & vbCrLf & _
"Ebene 3 " & VisualTreeHelper.GetParent(VisualTreeHelper.GetParent(VisualTreeHelper.GetParent(sender))).ToString & vbCrLf & _
"Ebene 4 " & VisualTreeHelper.GetParent(VisualTreeHelper.GetParent(VisualTreeHelper.GetParent(VisualTreeHelper.GetParent(sender)))).ToString & vbCrLf
and get
Ebene 1 System.Windows.Controls.ContentPresenter
Ebene 2 System.Windows.Controls.GridViewRowPresenter Content:System.Data.DataRowView Columns.Count:7
Ebene 3 System.Windows.Controls.Border
Ebene 4 System.Windows.Controls.ListViewItem: System.Data.DataRowView
What would be the next step, please?
Best greetings
Peter
你好,
现在,我将在您的帮助下解决问题:
因此,VisualTreeHelper告诉我,我按钮的父级的父级是System.Windows.Controls.GridViewRowPresenter,我这样做:
Hello,
now I solve the problem with your help:
So the VisualTreeHelper say me, the parent of the parent of my button is a System.Windows.Controls.GridViewRowPresenter I do this:
Dim myGrid As GridViewRowPresenter
Dim LstRow As DataRowView
myGrid = VisualTreeHelper.GetParent(VisualTreeHelper.GetParent(sender))
Me.m_PlanRow = CType(myGrid.Content, DataRowView)
strText = LstRow("ANZAHL") & " " & LstRow("ERR_CODE")
...
谢谢
彼得:)
Thanks
Peter :)
这篇关于如何在WPF中的ListView中引用项目的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文