什么是将ListView项目与对象绑定的最佳方式,因此当我将项目从一个列表视图移动到另一个列表视图时,我仍然能够告诉它分配了什么对象.
例如,我有对象卡.所有这些都列在allCards ListView中.我有另一个selectedCards ListView和一个按钮,将所选项目从一个列表视图移动到另一个列表视图.当我完成我的选择时,我需要获取移动到selectedCards ListView的Card对象列表.
例如,我有对象卡.所有这些都列在allCards ListView中.我有另一个selectedCards ListView和一个按钮,将所选项目从一个列表视图移动到另一个列表视图.当我完成我的选择时,我需要获取移动到selectedCards ListView的Card对象列表.
解决方法
要扩展@ CharithJ的答案,这就是你如何使用tag属性:
ListView allCardsListView = new ListView(); ListView selectedCardsListView = new ListView(); List<Card> allCards = new List<Card>(); List<Card> selectedCards = new List<Card>(); public Form1() { InitializeComponent(); foreach (Card selectedCard in selectedCards) { ListViewItem item = new ListViewItem(selectedCard.Name); item.Tag = selectedCard; selectedCardsListView.Items.Add(item); } foreach (Card card in allCards) { ListViewItem item = new ListViewItem(card.Name); item.Tag = card; allCardsListView.Items.Add(new ListViewItem(card.Name)); } Button button = new Button(); button.Click += new EventHandler(MoveSelectedClick); } void MoveSelectedClick(object sender,EventArgs e) { foreach (ListViewItem item in allCardsListView.SelectedItems) { Card card = (Card) item.Tag; //Do whatever with the card } }@H_301_9@显然你需要根据自己的代码进行调整,但这应该让你开始.