【发布时间】:2010-05-25 12:46:59
【问题描述】:
我的屏幕上有一个列表框 (MyListBox) 和一个文本框 (MyTextBox)。
ListBox 中填充了一个 List(Of T),这些都是自定义项。
现在我尝试这样做:
ListBox 的数据源是 List(Of T)。
现在,当项目更改时,我希望将文本框更新为列表框中所选项目的特定属性。
在代码中这意味着:
Me.MyListBox.DisplayMember = "SelectionName"
Me.MyListBox.ValueMember = "Id"
MyTextbox.DataBindings.Add(New Binding("Text", Me._listOfItems, "SelectedItem.Comment", True, DataSourceUpdateMode.OnPropertyChanged))
Me.MyListBox.DataSource = Me._listOfItems
这不起作用。但是当我绑定到 SelectedValue 而不是 SelectedItem 时,它可以完美运行。
_listOfItems 声明如下:
Dim _listOfItems As List(Of MyItem) = New List(Of MyItem)()
MyItem 在哪里:
public class MyItem
{
public string SelectionName { get; set; }
public int Id { get; set; }
public string Comment { get; set; }
}
我尝试覆盖 MyItem 中的 ToString() 以便它使用它。但这也不起作用。
有人愿意试一试吗?
【问题讨论】:
标签: c# vb.net winforms data-binding