protected override void OnElementAttached() { base.OnElementAttached(); // If this is a "rectangular" table then automatically add the "unselectable" // attribute to it because we know we can support editing of it without // erratic behavior TableHelper.MakeTableWriterEditableIfRectangular(HTMLElement as IHTMLTable); // Is the table editable? _tableIsEditable = TableHelper.TableElementIsEditable(HTMLElement, ElementRange); if (_tableIsEditable) { // hookup column size editor and cell selection tracker _columnSizeEditor = new TableColumnSizeEditor(HTMLElement as IHTMLTable, EditorContext, HTMLPaintSite); _cellSelectionTracker = new TableCellSelectionTracker(this, TableEditingContext); HookEvents(); // make it unselecteable HTMLElement.setAttribute("unselectable", "on", 0); // if the table has no borders then set a runtime style that lets the user see the borders TableHelper.UpdateDesignTimeBorders(HTMLElement as IHTMLTable, HTMLElement as IHTMLElement2); _tableEditingInitialized = true; } }