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
+}