如何在WPF中的ListView中引用项目 [英] How to refer to item in ListView in WPF

查看:86
本文介绍了如何在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆