我有一个网格视图,它有两个简单的列,一个报告编号和一个简短描述。这个简短的描述通常有一些回车。如果是这种情况,我希望该行扩展其高度以适应所有文本。
目前,该字段呈现可能显示第一行,但随后切断其下方的文本。如何显示所有文本,并根据需要调整高度?
这可以按行进行,例如,如果下一个报告没有带回车的描述,它只会显示在一行上吗?
这将是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>
我们正在使用应用程序范围的主题,很可能明确地设置了高。如果是这样,我主要倾向于(从评论中)主题是覆盖其工作原理的默认值。如果是这样,我如何让它按照预期的方式运行(再次,从评论中,它听起来像是默认行为)。
使用第二个例子,这是它的样子:
在这里它看起来像文字更大,所以再次,我希望细胞调整到所需的高度。其中一些有多行,所以你可以看到我不会看到剩余的内容。我也尝试在文本块上设置高度,但这没有任何效果。
答案 0 :(得分:3)
这很有用。
public string TextBlockText { get { return "one line \r\ntwo line"; } }
<TextBlock Height="Auto" Width="100" HorizontalAlignment="Left" Text="{Binding Path=TextBlockText}" />
关于如何将TextBlock放入ListView,我将留给你。