c# - 如何在包含回车符的 WPF GridView 中显示文本

标签 c# wpf gridview multiline

我有一个 GridView ,它有两个简单的列、一个报告编号和一个简短的描述。这个简短的描述有一些回车是很常见的。如果是这种情况,我希望该行扩展其高度以适合所有文本。

当前,该字段呈现时可能显示第一行,但随后会截断其下方的文本。我如何显示所有文本,并根据需要调整高度?

这是否可以在每行的基础上完成,例如,如果下一份报告没有带回车的描述,它会只显示在一行上吗?

宁可similar to this question , 但在 WPF 与 ASP.net 中

这也可能是由于广泛使用了主题应用程序。如果是这种情况,我如何才能仅在此 GridView 中强制执行它?

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>

我们正在使用应用程序范围的主题,很可能会明确设置高。如果是这样,我主要倾向于这样一个事实(来自评论),即主题正在覆盖其工作方式的默认值。如果是这样,我如何让它按照预期的方式行事(同样,从评论中,这听起来像是默认行为)。

使用第二个示例,它看起来像这样:

enter image description here

这里的文字看起来更大,所以我再次希望单元格调整到所需的高度。其中一些有多行,所以如您所见,我不会看到剩余的内容。我还尝试在文本 block 上设置高度,但没有效果。

最佳答案

这成功了。

 public string TextBlockText { get { return "one line \r\ntwo line"; } }

 <TextBlock Height="Auto" Width="100" HorizontalAlignment="Left" Text="{Binding Path=TextBlockText}" />

我将把如何将 TextBlock 放入 ListView 的问题留给您。

关于c# - 如何在包含回车符的 WPF GridView 中显示文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9915160/

相关文章:

c# - 如何在 gridview 控件中显示空数据行

android - 如何获取项目ID以及android网格中的项目位置

c# - 使用 C# 将多个文档插入 Mongodb 的最快方法

c# - WPF MVVM : Binding to property of object

c# - 如何为此类DataGrid组织ItemSsource

android - 如何刷新 GridView?

c# - md5 散列的结果是一致的还是依赖于服务器?

非矩阵数据类型的 C# 和 MATLAB 互操作性

c# - Datagridview 未显示在网页中

c# - 为什么 TreeViewItem 中的项目继承父级的事件处理程序?