我将WPF数据网格数据绑定到对象List<>
。问题是其中一个DataGridTextColumn
单元格有一个很长的多行文本,而垂直滚动条不允许我滚动浏览特定单元格的内容,而只能滚动到下一个单元格。有谁遇到过这个问题?代码如下所示:
<DataGridTextColumn Header="Value" Binding="{Binding Value}" Width="*">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="TextWrapping" Value="Wrap" />
</Style>
</DataGridTextColumn.ElementStyle>
<DataGridTextColumn.EditingElementStyle>
<Style TargetType="TextBox">
<Setter Property="TextWrapping" Value="Wrap" />
<Setter Property="AcceptsReturn" Value="true" />
</Style>
</DataGridTextColumn.EditingElementStyle>
</DataGridTextColumn>
答案 0 :(得分:1)
我的解决方法是使用dataTemplate。然后,dataTemplate包含TextBox控件,其属性为ScrollViewer.CanContentScroll和ScrollViewer.VerticalScrollBarVisibility set。
<DataGridTemplateColumn Header="Value" Width="*" IsReadOnly="True">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBox Text="{Binding Value}" AcceptsReturn="True" TextWrapping="Wrap" Height="150" ScrollViewer.VerticalScrollBarVisibility="Auto" ScrollViewer.CanContentScroll="True"></TextBox>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>