5

研究表明,这是防止在段落中换行的方法:

<Paragraph>
    <TextBlock TextWrapping="NoWrap">unwrapping text</TextBlock>
</Paragraph>

如何获得 C# 代码中的行为?

new Paragraph(new TextBlock()
{
    Text = "unwrapping text",
    TextWrapping = TextWrapping.NoWrap
});

产生cannot convert from 'System.Windows.Controls.TextBlock' to 'System.Windows.Documents.Inline'是因为 Paragraph 的构造函数需要一个内联。

我似乎找不到将 TextBlock 转换为 Inline 以使 Paragraph 满意的方法。如果它在 XAML 中工作,那么在某个地方应该有一个转换器,对吧?我如何找到它?

我意识到 FlowDocument 的重点是包装和流动以及重新调整大小等。我正在写一些简单的报告,只是一些System.Windows.Documents.Table数据,不幸的是,包装的第一列是包含日期的列,所以

2013-04-24

变成

2013-04-
24

Run到目前为止,我一直在使用s,虽然它们有一些TextBlock属性,但它们没有提供TextWrapping或提供任何TextTrimming功能。

4

1 回答 1

4

您想将其添加TextBlock到内联中,构造函数不会为您执行此操作。我认为最简单的写法是:

var p = new Paragraph();
p.Inlines.Add(new TextBlock()
{
    Text = "unwrapping text",
    TextWrapping = TextWrapping.NoWrap
});
于 2013-04-24T14:31:45.437 回答