diff --git a/src/TableView.cs b/src/TableView.cs index a07cd7e..3eb667b 100644 --- a/src/TableView.cs +++ b/src/TableView.cs @@ -281,6 +281,8 @@ protected async override void OnApplyTemplate() _headerRow = GetTemplateChild("HeaderRow") as TableViewHeaderRow; _scrollViewer = GetTemplateChild("ScrollViewer") as ScrollViewer; _headerRowDefinition = GetTemplateChild("HeaderRowDefinition") as RowDefinition; + if (_scrollViewer is not null) _scrollViewer.Loaded += OnScrollViewerLoaded; + if (IsLoaded) { while (ItemsPanelRoot is null) await Task.Yield(); @@ -292,9 +294,9 @@ protected async override void OnApplyTemplate() } /// - /// Handles the Loaded event of the TableView control. + /// Handles the Loaded event of the ScrollViewer control. /// - private void OnLoaded(object sender, RoutedEventArgs e) + private void OnScrollViewerLoaded(object sender, RoutedEventArgs e) { var scrollPresenter = _scrollViewer?.FindDescendant(); var xScrollBar = _scrollViewer?.FindDescendant(sb => sb.Name is "HorizontalScrollBar2"); @@ -316,7 +318,13 @@ private void OnLoaded(object sender, RoutedEventArgs e) Mode = BindingMode.TwoWay, Source = this }); - + } + + /// + /// Handles the Loaded event of the TableView control. + /// + private void OnLoaded(object sender, RoutedEventArgs e) + { EnsureAutoColumns(); } @@ -1514,4 +1522,4 @@ internal void UpdateHorizontalScrollBarMargin() var offset = CellsHorizontalOffset + Columns.VisibleColumns.Where(c => c.IsFrozen).Sum(c => c.ActualWidth); AttachedPropertiesHelper.SetFrozenColumnScrollBarSpace(_scrollViewer, offset); } -} \ No newline at end of file +}