【问题标题】:Using a specific field of the Model Class to fill a DataGrid使用模型类的特定字段填充 DataGrid
【发布时间】:2015-07-20 14:08:35
【问题描述】:
我有一个实用程序可以加载 excel 文件并用具有三个字段的实例填充模型:
cellValue(excel单元格的内容),
列(excel 单元格的列),
行(excel 单元格的行)。
我在 ViewModel 的可观察集合中有几个模型类实例,并且该可观察集合绑定到数据网格。当我运行程序时,数据网格会显示所有三个字段,但我只想显示单元格值。有没有办法指定显示哪个字段?
【问题讨论】:
标签:
c#
wpf
mvvm
datagrid
model
【解决方案1】:
为DataGrid 关闭AutoGenerateColumns,然后明确指定要显示的列:
<DataGrid AutoGenerateColumns="False" ItemsSource="{Binding YourItemsSource}">
<DataGrid.Columns>
<DataGridTextColumn Header="CellValue" Binding="{Binding YourCellValueProperty}"/>
</DataGrid.Columns>
</DataGrid>
这个 sn-p 假设单元格值是简单类型(文本、数字等)。如果您想要更复杂的单元格值视图,那么DataGridTemplateColumn 是一种方法。