TextWrap和空格

今天开发中遇到个小问题,场景如下:

<Grid>
<TextBlock Width="300" TextWrapping="Wrap" x:Name="txt"/>
</Grid>

后台代码:

 private void SetText()
{
string str = string.Format("{0}", " text test;space bar;wrapwrapwrapwrapwrapwrapwrapwrapwrapwrapwrapwrapwrap");
//str.Replace(" ", "");
this.txt.Text = str;
}

结果UI显示混乱:

TextWrap和空格

效果类似于把空格当成了换行符。

先不说原因,解决方案是在每个单词前加空格。显示如下:

TextWrap和空格

原因呢,TextWrapping是以一个单词为基本单位,上面的效果把test;space看成了一个单词,而加空格之后就好多了。所以以后用TextWrapping时,注意一下标点符号吧

你可能感兴趣的:(text)