diff --git a/src/Shared/HandyControl_Shared/Controls/Attach/DataGridAttach.cs b/src/Shared/HandyControl_Shared/Controls/Attach/DataGridAttach.cs index 80b39cb2..2feb13e7 100644 --- a/src/Shared/HandyControl_Shared/Controls/Attach/DataGridAttach.cs +++ b/src/Shared/HandyControl_Shared/Controls/Attach/DataGridAttach.cs @@ -264,44 +264,39 @@ namespace HandyControl.Controls if (show) { dataGrid.LoadingRow += DataGrid_LoadingRow; - dataGrid.ItemContainerGenerator.ItemsChanged += ItemContainerGenerator_ItemsChanged; + dataGrid.ItemContainerGenerator.ItemsChanged += ItemContainerGeneratorItemsChanged; } else { dataGrid.LoadingRow -= DataGrid_LoadingRow; - dataGrid.ItemContainerGenerator.ItemsChanged -= ItemContainerGenerator_ItemsChanged; + dataGrid.ItemContainerGenerator.ItemsChanged -= ItemContainerGeneratorItemsChanged; } - UpdateItems(dataGrid.ItemContainerGenerator, dataGrid.Items.Count, show); - } - - private static void ItemContainerGenerator_ItemsChanged(object sender, ItemsChangedEventArgs e) - { - if (sender is not ItemContainerGenerator generator) return; - UpdateItems(generator, generator.Items.Count); - } - - private static void UpdateItems(ItemContainerGenerator generator, int itemsCount, bool show = true) - { - if (show) + void ItemContainerGeneratorItemsChanged(object sender, ItemsChangedEventArgs e) { - for (var i = 0; i < itemsCount; i++) + var generator = dataGrid.ItemContainerGenerator; + var itemsCount = dataGrid.Items.Count; + + if (show) { - var row = (DataGridRow) generator.ContainerFromIndex(i); - if (row != null) + for (var i = 0; i < itemsCount; i++) { - row.Header = (i + 1).ToString(); + var row = (DataGridRow) generator.ContainerFromIndex(i); + if (row != null) + { + row.Header = (i + 1).ToString(); + } } } - } - else - { - for (var i = 0; i < itemsCount; i++) + else { - var row = (DataGridRow) generator.ContainerFromIndex(i); - if (row != null) + for (var i = 0; i < itemsCount; i++) { - row.Header = null; + var row = (DataGridRow) generator.ContainerFromIndex(i); + if (row != null) + { + row.Header = null; + } } } }