How can I prevent wrapping in a WPF FlowDocument in C# code?
c#, flowdocument, word-wrap, wpf
Solution
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
});
Problem
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.Table`s 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 `Run`s so far, and while they have some `TextBlock` properties, they offer no `TextWrapping` or `TextTrimming` affordances.