C# 4.0 Datagridview C中的数据绑定#
我有一个名为motor的模型(类),它包含另外两个模型(spec模型、description模型)作为其属性。在等级库或描述模型中,也有一些属性C# 4.0 Datagridview C中的数据绑定#,c#-4.0,datagridview,C# 4.0,Datagridview,我有一个名为motor的模型(类),它包含另外两个模型(spec模型、description模型)作为其属性。在等级库或描述模型中,也有一些属性 我想将马达列表绑定到datagridview。不幸的是,datagridview似乎无法检测规范和描述模型的属性。可能层太多了?您可以关闭“自动生成列”,自己创建列和绑定: <DataGrid ItemsSource="{Binding MotorCollection}" AutoGenerateColumns="False"> <
我想将马达列表绑定到datagridview。不幸的是,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的。在这种情况下,我不认为您可以直接绑定到嵌套属性,但正如这里所建议的:您可以在顶部模型上创建一个属性来访问嵌套属性
否则,您似乎可以按照这里的建议创建自己的typedescriptor,但如果您只是处理一个简单的模型,这可能有点超出范围。所以,“SpecModel”是我的类名还是motor model中的属性名?它是属性名。而.Name只是SpecModel类上的一个假定属性名。基本上,您可以始终绑定到嵌套属性,如Property.Property.Property等。不,我尝试了,但没有看到datagridview中反映的任何更改。好的,尝试发布一些示例代码,我将尝试给出更具体的答案。motorListBinding.DataSource=mainController.GetMotorList();dgvMotorList.AutoGenerateColumns=false;dgvMotorList.DataSource=motorListBinding;传输钳;