【发布时间】:2012-04-12 11:55:24
【问题描述】:
我有一个网格视图,它有两个简单的列、一个报告编号和一个简短的描述。这个简短的描述通常有一些回车。如果是这种情况,我希望该行扩大其高度以适应所有文本。
目前,该字段可能会显示第一行,但随后会切断其下方的文本。如何显示所有文本,并根据需要调整高度?
这可以在每行的基础上完成吗,例如,如果下一个报告没有带回车的描述,它只会显示在一行上?
它会是 similar to this question,但在 WPF 与 ASP.net 中
这也可能是由于在应用程序范围内使用了主题。如果是这种情况,我怎样才能仅在此网格视图中强制执行?
XAML:
原来我只是把它当作
<GridViewColumn Width="365" Header="Desc" DisplayMemberBinding="{Binding desc}" />
我也试过了
<GridViewColumn x:Name="colDesc" Header="Desc" Width="75" >
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Desc}" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
我们正在使用应用程序范围的主题,很可能会明确设置高。如果是这样,我主要倾向于(来自 cmets)主题覆盖其工作方式的默认值这一事实。如果是这样,我如何让它按照它应该的方式运行(同样,从 cmets 来看,这听起来像是默认行为)。
使用第二个示例,如下所示:
在这里,文本看起来更大,所以我希望单元格调整到所需的高度。其中一些有多行,所以你可以看到我看不到剩余的内容。我也尝试在文本块上设置高度,但这没有效果。
【问题讨论】:
-
刚刚试过这个。 DataGridTextColumn 自动垂直调整大小以适应。
-
您使用的是启用了环绕功能的文本框吗?
-
@Phil 很有趣。以每个单元格/行为基础?
-
@Blam 我本来不是,但后来做了一些搜索后添加了一个,结果变得更糟了。
-
更糟糕的情况如何?你有Auto的高度吗?我将通过将带有换行符的单行/列绑定到文本控件来进行测试。你可能需要去 RichTextBox。