Winforms, databinding, Listbox et un textbox

J'ai une ListBox (MyListBox) sur mon écran, et une zone de texte (MyTextBox).

La zone de liste est remplie avec une List(Of T), qui sont tous des éléments personnalisés.

Maintenant, j'essaie de le faire:

La ListBox' source de données est la Liste(De T).

Maintenant, quand un Élément changements que je veux la zone de texte pour être mis à jour pour une propriété particulière de l'élément sélectionné dans ma ListBox.

Dans le code, cela signifie:

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

cela ne fonctionne pas. Mais quand je la lie à SelectedValue au lieu de SelectedItem, il fonctionne parfaitement.

La _listOfItems est déclaré comme ceci:

Dim _listOfItems As List(Of MyItem) = New List(Of MyItem)()

MyItem est-ce:

public class MyItem
{
    public string SelectionName { get; set; }
    public int Id { get; set; }
    public string Comment { get; set; }
}

J'ai essayé en remplaçant la ToString() dans MyItem de sorte qu'il serait de l'utiliser. Mais cela ne fonctionne pas non plus.

Quiconque le soin de lui donner un essai?

Merci!

-Snakiej

OriginalL'auteur Snake | 2010-05-25