From 490a92684a1f4f31e138b1d062ba8aecfd559fd6 Mon Sep 17 00:00:00 2001 From: Waheed Ahmad Date: Wed, 4 Mar 2026 00:10:15 +0500 Subject: [PATCH] use ScrollViewer.Loaded event to set it up --- src/TableView.cs | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) 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 +}