我试图将列表中项目的属性绑定到数据网格。我有以下代码:数据绑定到列表的内容
<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
列表的对象,它们是具有两个公共属性的对象:SettingName
和SettingType
。
基本上,层次结构是这样的: 1.数据 1.设置 1. SettingName 2. SettingType
数据上下文被在主窗口中的构造设置,以LeftSettingsDataGrid.DataContext = Data;
。
为什么绑定不起作用呢?
Path = Data将其替换为Path = Data.Settings和Path = Settings.SettingName by Path = SettingName和Path = Settings.SettingType by Path = SettingType – Coding4Fun