将 TextBox 绑定到 ListBox SelectedItem 不起作用

Binding TextBox to ListBox SelectedItem does not work

我有一个 Winforms 应用程序,其中有一个列表框和一个文本框。列表框通过 BindingList 显示项目列表,并且对于每个项目,显示项目的 属性 名称。我想在列表中的所选项目的列表旁边显示文本框中项目的全名。

为 ListBox 创建 BindingList 没问题,但我无法让 TextBox 工作。我在 SO () 上发现了一个问题,它给出了一个例子,但我仍然无法让它工作。代码编译完美,但 TextBox 什么也不显示。

这是我写的代码:

itemList = new BindingList<Item>();
itemSource = new BindingSource(itemList, null);
lstItems.DataSource = itemSource; // previously I used itemList which also seemed to work?

txtItem.DataBindings.Add(new Binding("Text", itemSource, "Fullname", false, DataSourceUpdateMode.OnPropertyChanged));

全名是项目 class 的 属性,我在上面的示例中尝试了 BindingList/BindingSource 的各种组合,但似乎没有任何效果。

我一定是漏掉了什么,但我没看到。谁能指出我正确的方向?谢谢!

编辑:为 Pavan Chandaka 添加了项目 class

public class Item
{
    private string fullname;

    public Item(string fullname)
    {
        this.fullname = fullname;
    }

    public string Fullname()
    {
        return "Fullname: " + fullname;
    }

    public override String ToString()
    {
        return Fullname();
    }
}

您的 Item class 没有 属性 进行适当的绑定。

保持简单并尝试以下修改 Item class.

    public class Item
    {
        //PROPERTY
        public string Fullname { get; set; }

        //CONSTRUCOR
        public Item(string fullname)
        {
            this.Fullname = fullname;
        }
       
        //OVERRIDE TOSTRING
        public override string ToString() => $"{this.Fullname}";
     }