根据stackpanel的大小拆分文本

时间:2014-02-21 14:29:37

标签: c# xaml windows-runtime windows-store-apps

在一个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;
    }

1 个答案:

答案 0 :(得分:1)

您需要的是FormattedText classTextRenderer适用于WinForms,而非WPF。

您可以在此处找到示例实现:WPF equivalent to TextRenderer。您可能需要调整代码才能应用该框的widthheight

还有WinRT的方法:How can I calculate the width of a string in Metro (without displaying it)?,但它们依赖于创建未呈现的TextBlock