回复 3楼xinren063的帖子
要知道字符串的长度,可以使用Graphics的MeasureString,只要指定了字体和字符串后,用这个方法就能获得一个矩形的区域,这个区域是Graphics对象用DrawString方法在空间表面绘制字符串时所要的区域。然后这个宽度和列宽对比,大的话就更改FontSize。
单元格的FontSize可以通过CellFactory实现。创建一个类继承CellFactory,重写ApplyCellStyles方法。
代码参考:
- flex.CellFactory = new MyCellFactory();
-
- public class MyCellFactory : CellFactory
- {
- public override void ApplyCellStyles(C1FlexGrid grid, CellType cellType, CellRange range, Border bdr)
- {
- var columnindex = range.Column;
- var rowindex = range.Row;
- var _textblock = bdr.Child as TextBlock;
-
- if ((columnindex == 2) && (rowindex == 3))
- {
- _textblock.FontSize = 15;
- }
- }
- }
复制代码 |