我遇到了问题。我想将一个对象列表绑定到一个数据网格。绑定没问题,它正在工作,但我遇到了这些对象的一个成员的问题:List类型。
DataGrid仅在此单元格中显示“(Collection)”。这是我的班级:
public class ObjectOfMyProgram
{
double val1;
double val2;
double result;
List<double> input;
}
当我将它绑定到我的dataGrid时,我得到一个列:
[输入]
(集合)
(集合)
(集合)
(集合)
任何人都可以帮我正确地显示双重值,每个都在一列中吗?
提前谢谢。
答案 0 :(得分:0)
为了将DataGrid绑定到集合,必须指定每个列应从绑定对象中获取哪些数据。你这样做:
<DataGrid ItemsSource="{Binding collection}" AutoGenerateColumns="False" >
<DataGrid.Columns>
<DataGridTemplateColumn Header="val1">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding val1}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<!-- add more columns here -->
</DataGrid.Columns>
</DataGrid>
对于简单类型,您可以使用这些模板而不是DataGridTemplateColumn
:
DataGridCheckBoxColumn
表示布尔值DataGridComboBoxColumn
了解可枚举值DataGridHyperlinkColumn
代表Uri值DataGridTextColumn
显示文字值