public override nfloat GetPreferredWidth(object value, CGSize cellSize, int row, object dataItem) { var args = new MacCellFormatArgs(ColumnHandler.Widget, dataItem, row, field); ColumnHandler.DataViewHandler.Callback.OnCellFormatting(ColumnHandler.DataViewHandler.Widget, args); field.Font = defaultFont; if (args.FontSet) { field.Font = args.Font.ToNS(); } if (field.Title != menu.Title) { field.Menu = menu.Copy() as NSMenu; } field.ObjectValue = value as NSObject; return(field.Cell.CellSizeForBounds(new CGRect(0, 0, nfloat.MaxValue, cellSize.Height)).Width); }