在一个Windows商店应用项目中,我有2个StackPanels,一个200x200,另一个200x500,里面有一个scrollviewer(只是第二个),我也有一个带有一些文字的字符串。
我想要的是分割字符串以便我获得2个字符串,第一个字符串适合200x200区域,其余的将使用scrollviewer转到第二个stackapanel。
如何根据尺寸拆分字符串?
我尝试使用像这样的一些功能,但dindt非常明白。
private void textBox1_TextChanged(object sender, EventArgs e)
{
Size size = TextRenderer.MeasureText(textBox1.Text, textBox1.Font);
textBox1.Width = size.Width;
textBox1.Height = size.Height;
}
答案 0 :(得分:1)
您需要的是FormattedText
class。 TextRenderer
适用于WinForms,而非WPF。
您可以在此处找到示例实现:WPF equivalent to TextRenderer。您可能需要调整代码才能应用该框的width和height。
还有WinRT的方法:How can I calculate the width of a string in Metro (without displaying it)?,但它们依赖于创建未呈现的TextBlock
。