Studies have shown this is the way to prevent wrapping in, say, a Paragraph:

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

How can I get the behavior in C# code?

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

Yields cannot convert from 'System.Windows.Controls.TextBlock' to 'System.Windows.Documents.Inline' because Paragraph's constructor is expecting an Inline.

I can't seem to find a way to convert a TextBlock to an Inline to make Paragraph happy. If it works in XAML, there should be a converter somewhere, right? How do I find it?

I realize the point of a FlowDocument is for things to wrap and flow and be re-sizable, etc. I'm writing some simple reports, just some System.Windows.Documents.Tables of data, and unfortunately the first column that wraps is one which contains dates, so

2013-04-24

Becomes

2013-04-
24

I've been using Runs so far, and while they have some TextBlock properties, they offer no TextWrapping or TextTrimming affordances.

有帮助吗?

解决方案

You want to add the TextBlock to the inlines, the constructor won't do it for you. I think it would be easiest to just write:

var p = new Paragraph();
p.Inlines.Add(new TextBlock()
{
    Text = "unwrapping text",
    TextWrapping = TextWrapping.NoWrap
});
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top