2013-04-24 59 views
4

Studies have shown这是为了防止在包装,也就是说,一个段落的方式:如何防止在C#代码中使用WPF FlowDocument封装?

<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转换为内联以使段落快乐。如果它在XAML中有效,那么应该有一个转换器,对吧?我如何找到它?

编辑:我实现的FlowDocument的一点是对的东西来包装和流动,并重新可观的,等我在写一些简单的介绍,只是一些数据的System.Windows.Documents.Table s,而不幸的是,第一列该包裹是一个包含日期,所以

2013-04-24 

成为

2013-04- 
24 

我一直在使用Run这么远,虽然他们有一些TextBlock性质,他们不提供TextWrappingTextTrimming可供性。

回答

4

你想添加TextBlock到内联,构造函数不会为你做。我认为这将是最简单的只写:

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

请注意,这将不适合当数据是巨大的... TextBlock会减慢用户界面下降 – 2017-09-18 22:29:42