微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Silverlight计算汉字的宽度

最近做一个查询控件的时候

查询条件的个数不固定的

有可能是三个、五个、六个查询用户名、出生日期、年龄、等等)条件输入

在对界面进行排板的时候,非常难对挤

如果查询条件固定那到还好了六个就六个

真接在界面上固定就完了

可现在不行,根据用户权限的不同,查询条件的输入个数是同的

一个Grid在Grid里把查询条件存放去就好了

可是由于Grid要指定行列的个数

感觉算还是不方便于是就改用WrapPanel

现在要控制,每个控件宽度一样,那WrapPanel排列起来就好看多了

于是就要来计算字的宽度:当前页面,当前字体,所占的宽度

        double Measure(double fontSize,FontFamily fontFamily,FontWeight fontWeight)
        {
            TextBlock tb = new TextBlock();
            if (0< fontSize)
            {
                tb.FontSize = fontSize;

            }
            if (null != fontFamily)

            {
                tb.FontFamily = fontFamily;
            }
            if( null != fontWeight)
            {
                tb.FontWeight = fontWeight;
            }
            tb.Text = "宽";
            TextBlock tb2 = tb;
            return new Size(tb2.ActualWidth,tb2.ActualHeight).Width;
        }
如果字段没有特别的样式,如粗体、斜体等

好像字的宽度就是fontSize的大小

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐