【问题标题】:Silverlight datagrid cell multilineSilverlight 数据网格单元格多行
【发布时间】:2013-04-15 13:39:54
【问题描述】:

是否可以在 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>

但是我如何手动换行呢?

【问题讨论】:

  • 您的文本是来自绑定还是您试图以编程方式定义它?

标签: c# silverlight-4.0


【解决方案1】:

在常见的 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 上分配文本,你可以在你的文本中直接使用&lt;LineBreak/&gt; 标签,正如answer 中提到的那样:

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

【讨论】:

  • 好吧.. 我正在将可观察集合中的对象添加到 Datagrid(以编程方式),那么我如何访问这个“txtBlock”?
猜你喜欢
  • 2011-02-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-18
  • 1970-01-01
  • 2010-10-14
  • 1970-01-01
相关资源
最近更新 更多