如何防止以C#代码包装在WPF FlowDocument中?

epa*_*alm 5 c# wpf word-wrap flowdocument

研究表明这是防止换行的一种方式,例如:

<Paragraph>
    <TextBlock TextWrapping="NoWrap">unwrapping text</TextBlock>
</Paragraph>
Run Code Online (Sandbox Code Playgroud)

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

new Paragraph(new TextBlock()
{
    Text = "unwrapping text",
    TextWrapping = TextWrapping.NoWrap
});
Run Code Online (Sandbox Code Playgroud)

cannot convert from 'System.Windows.Controls.TextBlock' to 'System.Windows.Documents.Inline'之所以会产生收益,是因为Paragraph的构造函数期望使用Inline。

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

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

2013-04-24
Run Code Online (Sandbox Code Playgroud)

成为

2013-04-
24
Run Code Online (Sandbox Code Playgroud)

Run到目前为止,我一直在使用s,尽管它们具有一些TextBlock属性,但它们不提供TextWrapping或提供任何东西TextTrimming

Kev*_*lia 4

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

var p = new Paragraph();
p.Inlines.Add(new TextBlock()
{
    Text = "unwrapping text",
    TextWrapping = TextWrapping.NoWrap
});
Run Code Online (Sandbox Code Playgroud)