2013-04-24 57 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