我有一个带有TextTrimming="CharacterEllipsis"
,TextWrapping="NoWrap"
的TextBlock和一个大约140,000个符号的超长文本。我将此文本放入TextBlock,然后TextBlock将此文本显示为多行控件,并在每行中进行修剪。
<Window x:Class="WpfApplication3.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<TextBlock x:Name="textBlock" TextTrimming="CharacterEllipsis" TextWrapping="NoWrap" Width="500"/>
</Grid>
</Window>
public partial class MainWindow : Window {
public MainWindow() {
InitializeComponent();
string str = "q ";
for(int i = 0; i < 20000; i++) {
str += "qwetre ";
}
textBlock.Text = str;
}
}
有什么想法吗?是MS的错误,还是我可以改变这种行为?
答案 0 :(得分:2)
Textblock TextWrapping
属性默认设置为NoWrap。
因此,除非你
<LineBreak/>
个标签
醇>
文本将始终仅显示在一行上。
@Mirimon我完全按照你所展示的那样运行了这个项目,我只看到一行!
答案 1 :(得分:2)
我在问题上找到了答案。 TextBlock有4.5框架的这种行为(我已经安装了VS2012),我在没有VS2012的计算机上试过,工作正常,只有一行。