返回首页

嗨女孩,我回去给你的大脑锻炼。这里是我的问题:我有一个按钮显示文本的文本框。这工作得很好,直到按钮调整以适应面板,它是在那么文本换行和被切断。所以,现在我想测试的linecount,然后添加一个触发器,使字体变小。谁能告诉我如何linecount XAML中的一个TextBox或TextBlock的工作吗?或如果你知道一个更好的办法也许可以给我留言?
预先感谢

回答

评论会员:游客 时间:2012/02/06
阿米尔Mahfoozi:如果你有绘制的文本的实际宽度和高度,你可以计算行数,甚至调整到一个地区,以适应文本的字体大小。使用这个片段获取文字大小:{体C3}这个文本的长度,再除以区的宽度,它应显示(四舍五入的结果),以获取行数。希望它帮助:SAKryukov
| [后由OP的澄清,备选答案]

它看起来像你需要呈现的文本的实际指标计算,考虑到所有在最终渲染什么:它的字体,系统的渲染设置,涉及边界元素,呈现样式(或不裹),只需注意:此问题由于文本渲染和复杂的应用效果,如抗锯齿,可选的ClearType({A1}])等。例如,系统要求,我听说过所有的方法产生不是100%准确的结果是非常复杂的。

在WPF中,这个问题就解决了​​使用类System.Windows.Media.FormattedText,看到{A2}

mdash;水杨酸
评论会员:游客 时间:2012/02/06
SAKryukov:不,不,行数不依赖于边界框,呈现的文本大小和自动换行。它重要的"真正的"行,行结束的字符串或字符分隔的,"\N","\R"或"\r\N"(事实上,其中任何)。(顺便说一下,写正确的便携式终端行,总是使用静态属性System.Environment.NewLine的{A3的}])mdash;SA