Silverlight数据网格单元格多行

时间:2013-04-15 13:39:54

标签: c# silverlight-4.0

是否可以在Silverlight Datagrid中手动定义换行符的位置? (而不是在到达边框时自动换行到下一行)

这似乎是代码(source):

 <sdk:DataGridTextColumn 
    Header="Address"
    Width="150"
    Binding="{Binding Address}" >
    <sdk:DataGridTextColumn.ElementStyle>
        <Style TargetType="TextBlock">
            <Setter Property="TextWrapping" Value="Wrap"/>
        </Style>
    </sdk:DataGridTextColumn.ElementStyle>
 </sdk:DataGridTextColumn>

但是我如何手动换行呢?

1 个答案:

答案 0 :(得分:0)

有可能在常见的WPF控件中,所以我相信它也应该可以在Silverlight上使用。基本上你需要的是在列的每个单元格上定位TextBlock控件,类似于为它提供文本换行样式。

由于您没有从您的问题中澄清您希望以编程方式或在XAML上分配文本,因此我将向您提供有关如何执行这两项操作的提示。

您可以使用与此answer类似的方法以编程方式分配文本:

txtBlock.Inlines.Add("This is the first paragraph");
txtBlock.Inlines.Add(new LineBreak());
txtBlock.Inlines.Add("This is the second paragraph");

另一方面,如果您想直接在XAML上分配文本,可以直接在文本中使用<LineBreak/>标记,如answer中所述:

<TextBlock>
    This is the first paragraph <LineBreak/>
    This is the second paragraph
</TextBlock>