【发布时间】:2014-07-14 05:52:41
【问题描述】:
我有一个名为 motor 的模型(类),它由另外两个模型(规格模型、描述模型)作为其属性。在规范或描述模型中,也有一些属性。
我想将电机列表绑定到数据网格视图。不幸的是,datagridview 似乎无法检测到规范和描述模型的属性。可能层太多了?
【问题讨论】:
标签: c#-4.0 datagridview
我有一个名为 motor 的模型(类),它由另外两个模型(规格模型、描述模型)作为其属性。在规范或描述模型中,也有一些属性。
我想将电机列表绑定到数据网格视图。不幸的是,datagridview 似乎无法检测到规范和描述模型的属性。可能层太多了?
【问题讨论】:
标签: c#-4.0 datagridview
您可以关闭自动生成列,并自己创建列和绑定:
<DataGrid ItemsSource="{Binding MotorCollection}" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Name}"/>
<DataGridTextColumn Binding="{Binding SpecModel.Name}"/>
<DataGridTextColumn Binding="{Binding DescriptionModel.Name}"/>
</DataGrid.Columns>
</DataGrid>
更新:
我没有意识到这是关于 winforms 的。在这种情况下,我认为您不能直接绑定到嵌套属性,但正如此处建议的那样:Winforms DataGridView databind to complex type / nested property 您可以在顶层模型上创建一个属性来访问嵌套属性。
否则,您似乎可以按照此处How to bind a DataGridView column to a second-level property of a data source 的建议创建自己的类型描述符,但如果您只是处理一个简单的模型,这可能有点超出范围。
【讨论】: