我有一个带有自动生成列的 WPF DataGrid。我已经能够使用代码覆盖列标题,并在缩小列时强制在列标题上换行。当我尝试在单元格上强制文本换行时,我的绑定中断......它在每一列中显示相同的值。
这是我用来格式化的 XAML
<DataGrid.CellStyle>
<Style TargetType="DataGridCell">
<Setter Property="ContentTemplate">
<Setter.Value>
<DataTemplate>
<TextBlock TextWrapping="Wrap" Text="{Binding}"></TextBlock>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
</DataGrid.CellStyle>
<DataGrid.ColumnHeaderStyle>
<Style TargetType="DataGridColumnHeader">
<Setter Property="ContentTemplate">
<Setter.Value>
<DataTemplate>
<TextBlock TextWrapping="Wrap" Text="{Binding}"></TextBlock>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
</DataGrid.ColumnHeaderStyle>
同样,ColumnHeaderStyle 工作正常,但 CellStyle 不工作。
建议?
更新:
列标题设置如下:
if (e.Column.Header.ToString() == "Product_Description")
e.Column.Header = "Product";
if (e.Column.Header.ToString() == "Original_Gross_Weight")
e.Column.Header = "Orig. Net Wt.";
标题的包装效果很好。只是内容的包装不起作用。