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

问题描述 投票:4回答:1

Studies have shown这是防止包裹的方法,例如,段落:

<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',因为段落的构造函数期待内联。

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

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

2013-04-24

2013-04-
24

到目前为止,我一直在使用Runs,虽然他们有一些TextBlock属性,但他们没有提供TextWrappingTextTrimming

c# wpf wrapping flowdocument
1个回答
4
投票

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

var p = new Paragraph();
p.Inlines.Add(new TextBlock()
{
    Text = "unwrapping text",
    TextWrapping = TextWrapping.NoWrap
});
© www.soinside.com 2019 - 2024. All rights reserved.