关于c#:数据绑定到列表的内容

Data Binding to the contents of a list

我正在尝试将列表中项目的属性绑定到数据网格。我有以下代码:

1
2
3
4
5
6
  <DataGrid Grid.Column="0" Name="LeftSettingsDataGrid" ItemsSource="{Binding Path=Data}">
    <DataGrid.Columns>
      <DataGridTextColumn Header="Setting Name" Binding="{Binding Path=Settings.SettingName}" />
      <DataGridTextColumn Header="Setting Type" Binding="{Binding Path=Settings.SettingType}" />
    </DataGrid.Columns>
  </DataGrid>

但这会生成一个空的网格视图。

数据是一个拥有Settings列表的对象,它是具有两个公共属性的对象:SettingNameSettingType

基本上,层次结构如下:1。数据1。设置1。设置名称2。设置类型

数据上下文是在主窗口的构造函数中设置的,使用LeftSettingsDataGrid.DataContext = Data;

那么为什么绑定不起作用呢?


将此作为数据上下文中的树进行查看。您有一个列表,其中显示的项目数、项目源为设置、显示成员为item.settingname等。

1
2
3
4
5
6
  <DataGrid Grid.Column="0" Name="LeftSettingsDataGrid" ItemsSource="{Binding Path=Settings}">
    <DataGrid.Columns>
      <DataGridTextColumn Header="Setting Name" Binding="{Binding Path=SettingName}" />
      <DataGridTextColumn Header="Setting Type" Binding="{Binding Path=SettingType}" />
    </DataGrid.Columns>
  </DataGrid>

您的项源是数据。设置不是数据