当前位置: 首页 > 编程语言 > C#

如何识别被点击的按钮属于哪个列表框项?分享

时间:2023-04-10 16:01:50 C#

如何识别点击的按钮属于哪个列表框项?在WPF编程中,我在编写按钮单击事件处理程序时遇到了问题。因为该按钮位于列表框项(数据模板的一部分)内,并且单击该按钮时,我无法分辨它属于哪个项目。有什么解决办法吗?SOS--您似乎已将列表框绑定到一个集合,并且您的按钮是数据模板或项目模板的一部分。您可以将按钮的Tag属性绑定到数据对象:名称:点我!点击事件:privatevoidButton_Click(objectsender,RoutedEventArgse){Buttonb=(Button)sender;Personp=(Person)b.Tag;MessageBox.Show(p.Name);但是,正如其他人所建议的那样,您可以使用Button的DataContext属性。在我的例子中它已经指向了Person对象。我认为通过使用Tag属性,您可以更好地控制要在事件处理程序中访问的内容。有很多方法可以做任何事情!选择最适合您的。您可以从DataContext中获取该信息。publicclassPerson{publicstringName{get;放;}publicintAge{得到;放;}}Persons=newObservableCollection(){newPerson(){Name="John",Age=30},newPerson(){Name="Tim",Age=48}};lbPersons.DataContext=人;privatevoidperson_Clicked(objectsender,RoutedEventArgse){Buttoncmd=(Button)sender;if(cmd.DataContextisPerson){Personp=(Person)cmd.DataContext;在XAML中:ListBox.selectedItem和listbox.SelectedIndex将被设置为单击按钮的一部分。假设列表框中的项目类型为MyListBoxItemvoidSomeButtonClick(Objectsender,EventArgse){ListBoxlb=senderasListBoxif(lb!=null){MyListBoxItemitem=lb.SelectedItemAsMyListBoxItem;if(item!=Null){item.MethodRelatedToButton();//maybe}}}按需放大以上是C#学习教程:如何识别点击的按钮属于哪个列表框项?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: