WPF中Textbox TextWrapping="NoWrap" 当输入数据很长(超过9600)时会出现换行

 我来答
FoolRabbit编程
2015-03-05 · 知道合伙人数码行家
FoolRabbit编程
知道合伙人数码行家
采纳数:619 获赞数:3807
毕业于苏州大学,4年编程经验,对WPF有研究。

向TA提问 私信TA
展开全部

9600的限制是为了不占用所有的CPU时间。


由 Microsoft 在 2012/4/11 於 16:03 公布
Text is displayed by one of two internal classes: SimpleTextLine and FullTextLine. The former is faster but less general - it's used for most text unless special formatting features are required.

The 9600-character limit exists to defend against very long lines taking all the CPU time. In 4.0 it applied only to FullTextLine; in 4.5 it applies to both classes. You can see the same effect in 4.0 by doing anything that causes the text to use FullTextLine - for example, set FlowDirection="RightToLeft".

We need to keep the limit in effect for SimpleTextLine - the reasons we did that trump any compatibility concerns. Your behavior is a consequence. (You could argue that TextBlock/Box should only draw the first line when TextWrapping=NoWrap and the line is split because of the limit, but that would be a more significant behavior change that we won't address in 4.5.)

- WPF team


参见:https://connect.microsoft.com/VisualStudio/feedback/details/735541/wpf-textbox-and-textblock-will-show-text-wrap-when-text-is-more-than-9600

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式