private bool CellDatas_InsertEvent(int index, CellData value) { value.MergeDataEvent -= Value_MergeDataEvent; value.MergeDataEvent += Value_MergeDataEvent; #region 处理行 var row = RowDatas.FirstOrDefault(p => p.RowIndex == value.RowIndex); if (row == null) { var rowButton = TableController.RowController.Create <TableRowButton>(); row = new RowData(TableController, rowButton, value.RowIndex) { RowIndex = value.RowIndex }; value.RowData = row; row.Heigth = value.RowHeigth; RowDatas.Add(row); } row.CellDatas.Add(value); value.RowData = row; #endregion #region 处理列 var column = ColumnDatas.FirstOrDefault(p => p.ColumnIndex == value.ColumnIndex); if (column == null) { var columnButton = TableController.ColumnController.Create <TableColumnButton>(); column = new ColumnData(TableController, columnButton, value.ColumnIndex) { ColumnIndex = value.ColumnIndex }; value.ColumnData = column; column.Width = value.ColumnWidth; ColumnDatas.Add(column); } column.CellDatas.Add(value); value.ColumnData = column; #endregion RefreshSize(); value.Refresh(); return(true); }