c# - 通过绑定设置列标题
问题描述
我有一个简单的类,我收集一些数据。第一个“行”包括作为字符串的标题(ID、名称等)。在我的 WPF 项目中,我有一个 DataGrid 和以下 XAML 代码:
<DataGrid ItemsSource="{Binding Entries}" CanUserAddRows="False" Margin="12,12,0,0" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="ID" Binding="{Binding uID}" />
<DataGridTextColumn Header="First Name" Binding="{Binding uFName}" />
<DataGridTextColumn Header="Second Name" Binding="{Binding uSName}" />
</DataGrid.Columns>
</DataGrid>
但我需要删除我的数据的第一行。是否可以使用我的数据集合的第一行作为列标题而不是通过修复 XAML?
解决方案
是否可以使用我的数据集合的第一行作为列标题而不是通过修复 XAML?
您可以使用以下方法执行此操作HeaderTemplate
:
<DataGridTextColumn Binding="{Binding uID}">
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding Items[0].uID, RelativeSource={RelativeSource AncestorType=DataGrid}}" />
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
</DataGridTextColumn>