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

本文关键字:包装 WPF FlowDocument 代码 何防止 | 更新日期: 2023-09-27 18:10:47

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

<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的构造函数期望一个Inline。

我似乎找不到一种方法来转换一个TextBlock的内联,使段落快乐。如果它在XAML中工作,应该有一个转换器,对吧?我怎么找到它?

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

2013-04-24

2013-04-
24

到目前为止,我一直在使用Run s,虽然它们有一些TextBlock属性,但它们不提供TextWrappingTextTrimming的功能。

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

如果您想将TextBlock添加到内联中,则构造函数不会为您完成此操作。我认为最简单的方式是:

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