When we create an initial TreeDataGridSource ColumnList is getting created. Then we get the Viewport from the EffectiveViewportChanged event and initialize the ColumnList. But when user re-creates the TreeDataGridSource ColumnList is getting recreated too but Viewport is not set for this ColumnList since EffectiveViewportChanged is not called because EffectiveViewPort remained the same, so we need to pass Viewport by ourselves.
When we create an initial TreeDataGridSource ColumnList is getting created. Then we get the Viewport from the EffectiveViewportChanged event and initialize the ColumnList. But when user re-creates the TreeDataGridSource ColumnList is getting recreated too but Viewport is not set for this ColumnList since EffectiveViewportChanged is not called because EffectiveViewPort remained the same, so we need to pass Viewport by ourselves.
Fixes #130 Closes #231