最近做一个查询控件的时候
查询条件的个数不固定的
有可能是三个、五个、六个查询(用户名、出生日期、年龄、等等)条件输入
在对界面进行排板的时候,非常难对挤
如果查询条件固定那到还好了六个就六个
真接在界面上固定就完了
可现在不行,根据用户权限的不同,查询条件的输入个数是同的
用一个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的大小