我有一个带有一些列的DataGrid,我希望其中一列占用所有可能的宽度来填充DataGrid,但不多了。因此,如果DataGrid的宽度不够,它将包装其文本。 我使用了TextWrapping,但只有在为列设置固定宽度时才有效。 有没有办法实现我的目标? (使文本换行和自动调整宽度?)
答案 0 :(得分:2)
由于您尚未发布任何xaml,因此不清楚您尝试了什么。 以下工作正常: -
<sdk:DataGridTemplateColumn Width="*" Header="Memo">
<sdk:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock TextWrapping="Wrap" Text="{Binding Memo}" />
</DataTemplate>
</sdk:DataGridTemplateColumn.CellTemplate>
<sdk:DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<TextBox TextWrapping="Wrap" Text="{Binding Memo}" />
</DataTemplate>
</sdk:DataGridTemplateColumn.CellEditingTemplate>
</sdk:DataGridTemplateColumn>
答案 1 :(得分:0)
我在WPF上遇到了类似的情况,你应该尝试一下,
创建附加行为,在网格或列加载后,将列的宽度设置为与列的实际宽度相同。
通过这种方式,您可以通过SL自动进行Witdh计算并具有固定的Witdh,因此包装将起作用。