Windows XAML:TextBlock中的LineCount?

时间:2016-03-22 13:57:57

标签: xaml winrt-xaml textblock line-count

我有一个我在Canvas上写的文本块。由于它在Canvas上,我手动指定x-coord和y-coord。

我的问题是,我的y-coord依赖于TextBlock上换行的LineCount(由于宽度有限)。

例如,“ADD香蕉”一词写成:

ADD 香蕉

有2行数。

根据行数,我会做点什么。

现在,我使用它来确定TextWidth,然后从那里进行计算。但是,仍有一些异常值(例如,不应该计算3行,实际视觉中2):

private double stringWidth(string s, double fontSize)
{
    if(s==" ")
        s = "\u00A0";  //this line wasn't required in silverlight but is now

    TextBlock t = new TextBlock()
    {
        FontSize = fontSize,
        Text = s
    };
    t.Measure(new Size(double.MaxValue, double.MaxValue));  //this line wasn't required in silverlight but is now
    return t.ActualWidth;
}

在Windows App Xaml中有最好的方法吗?

0 个答案:

没有答案