2012-03-28 82 views
2

我有一个网格视图,它有两个简单列,一个报表编号和一个简短描述。这个简短的描述通常有一些回车。如果是这样的话,我想该行扩大其高度,以适合所有文本中。如何在包含回车的WPF GridView中显示文本

目前该领域与可能的第一行显示,但随后切断文字下方呈现。我如何显示所有文字,并根据需要调整高度?

而且可以这样在每行的基础上完成的,如,如果下一次报告没有与回车的描述,它只是显示在同一行?

这将是相当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> 

我们正在使用应用广泛的主题,这非常可能是设置高明确。如果是这样,我主要倾向于这个事实(从评论),主题是否覆盖了它的工作原理的默认值。如果是这样,我该如何按照它应该的方式行事(再次,从评论中,这听起来像这是默认行为)。

使用第二个例子,这里是什么样子:

enter image description here

在这里,它看起来像文本较大,如此反复,我希望小区调整到所需要的HIGHT。其中一些有多行,所以你可以看到我不会看到剩余的内容。我也尝试在文本块上设置高度,但这没有效果。

+2

发布你的xaml。 – cadrell0 2012-03-28 20:35:16

+0

刚刚尝试过。 DataGridTextColumn自动调整垂直大小以适应。 – Phil 2012-03-28 21:01:29

+0

你是否使用启用了Wrapping的TextBox? – Paparazzi 2012-03-28 21:05:38

回答

3

这工作。

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

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

我将给你留下如何将TextBlock放入ListView。

+0

这个问题直接关系到这应该如何被纳入gridview。我已经有了这个代码,但接受这个答案我不能把它放入TextBlock – jmlumpkin 2012-03-28 23:24:48

+0

显示一些努力。你还没有发布任何代码。 – Paparazzi 2012-03-29 01:13:36

+0

我现在无法访问代码,因此为什么还没有。努力呢?如果我的评论过于粗鲁或苛刻,我很抱歉,我只是简单地指出,当我真正在网格中关注它时,文本块可以到达任何地方。这不是一个编程课,只是在问一个问题,因为这显然不适合我。 – jmlumpkin 2012-03-29 01:40:39

相关问题