背景
我有一个带有多个TextColumns的DataGrid。一列是只读的,并绑定到DataGrid外部的TextBox文本。此TextBox是一个多行文本框,表示AcceptsReturn = true和TextWrapping = Wrap。
问题:
当用户在多行TextBox中输入多行时,绑定的DataGridCell(及其行)将垂直增长,以便显示所有文本。
问题:
研究
我知道我可以通过强制设置其高度来阻止DataGridRow的增长。但是,这不会触发滚动条。
我确认DataWridCell中的TextBlock已关闭WordWrap。
由于
答案 0 :(得分:3)
您是否尝试在其中使用DataGridTemplateColumn
和ScrollViewer
?例如:
<DataGridTemplateColumn Header="MyText">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ScrollViewer MaxHeight="30" VerticalScrollBarVisibility="Auto">
<TextBlock TextWrapping="Wrap" Text="{Binding YourText}" />
</ScrollViewer>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
答案 1 :(得分:0)
我最终对我的要求有点灵活,并提出了这种风格:
<Style
TargetType="{x:Type DataGridCellsPresenter}"
BasedOn="{StaticResource {x:Type DataGridCellsPresenter}}"
>
<Setter
Property="MaxHeight"
Value="25"
/>
</Style>
通过在我的DataGridCellsPresenters上设置MaxHeight,我可以触发垂直滚动条而不会直接干扰行高。我可以在我的应用程序中一致地应用它,而不是按列。