WPF:绑定到 ObservableCollection 中 class 的 属性

WPF: Binding to property of a class in a ObservableCollection

我有一个 class 叫 Robot:

public class Robot
{
    public string name { get; private set; }

    public Robot(string robotName)
    {
        name = robotName;
    }
}

我在我的 ModelView 中创建了这个 class:

的 ObservableCollection
public ObservableCollection<Robot> Robots { get; private set; } = new ObservableCollection<Robot>();

我现在需要将这个 ObservableCollection 绑定到我的 ListView,但我需要绑定到 ListView 的 属性 name,而不是转换为字符串的 class。

<ListView ItemsSource="{Binding Robots}" />

我该怎么做?

DisplayMemberPath 属性 设置为项目的名称 属性:

<ListView ItemsSource="{Binding Robots}" DisplayMemberPath="name" />

机器人 属性 应命名为 Name - 使用 Pascal 大小写以遵守广泛接受的命名约定:

public class Robot
{
    public string Name { get; }

    public Robot(string name)
    {
        Name = name;
    }
}

那么 XAML 就是

<ListView ItemsSource="{Binding Robots}" DisplayMemberPath="Name" />