Browse Source

Remove hack from ItemsControl.

pull/10055/head
Steven Kirk 4 years ago
parent
commit
b127453467
  1. 7
      src/Avalonia.Controls/ItemsControl.cs

7
src/Avalonia.Controls/ItemsControl.cs

@ -90,7 +90,6 @@ namespace Avalonia.Controls
private EventHandler<ChildIndexChangedEventArgs>? _childIndexChanged; private EventHandler<ChildIndexChangedEventArgs>? _childIndexChanged;
private EventHandler<EventArgs>? _totalCountChanged; private EventHandler<EventArgs>? _totalCountChanged;
private IDataTemplate? _displayMemberItemTemplate; private IDataTemplate? _displayMemberItemTemplate;
private Tuple<int, Control>? _containerBeingPrepared;
private ScrollViewer? _scrollViewer; private ScrollViewer? _scrollViewer;
/// <summary> /// <summary>
@ -527,10 +526,7 @@ namespace Avalonia.Controls
internal void ItemContainerPrepared(Control container, object? item, int index) internal void ItemContainerPrepared(Control container, object? item, int index)
{ {
_containerBeingPrepared = new(index, container);
_childIndexChanged?.Invoke(this, new ChildIndexChangedEventArgs(container, index)); _childIndexChanged?.Invoke(this, new ChildIndexChangedEventArgs(container, index));
_containerBeingPrepared = null;
_scrollViewer?.RegisterAnchorCandidate(container); _scrollViewer?.RegisterAnchorCandidate(container);
} }
@ -668,9 +664,6 @@ namespace Avalonia.Controls
int IChildIndexProvider.GetChildIndex(ILogical child) int IChildIndexProvider.GetChildIndex(ILogical child)
{ {
if (_containerBeingPrepared?.Item2 == child)
return _containerBeingPrepared.Item1;
return child is Control container ? IndexFromContainer(container) : -1; return child is Control container ? IndexFromContainer(container) : -1;
} }

Loading…
Cancel
Save