Browse Source

Update TabControl on container index change.

pull/9677/head
Steven Kirk 4 years ago
parent
commit
6626a2e218
  1. 2
      src/Avalonia.Controls/Presenters/PanelContainerGenerator.cs
  2. 10
      src/Avalonia.Controls/TabControl.cs

2
src/Avalonia.Controls/Presenters/PanelContainerGenerator.cs

@ -96,7 +96,7 @@ namespace Avalonia.Controls.Presenters
var childCount = children.Count;
for (var i = index; i < childCount; ++i)
generator.ItemContainerIndexChanged(children[i], i - count, i);
generator.ItemContainerIndexChanged(children[i], i + count, i);
}
switch (e.Action)

10
src/Avalonia.Controls/TabControl.cs

@ -174,6 +174,16 @@ namespace Avalonia.Controls
UpdateSelectedContent();
}
protected override void ContainerIndexChangedOverride(Control container, int oldIndex, int newIndex)
{
base.ContainerIndexChangedOverride(container, oldIndex, newIndex);
var selectedIndex = SelectedIndex;
if (selectedIndex == oldIndex || selectedIndex == newIndex)
UpdateSelectedContent();
}
protected internal override void ClearContainerForItemOverride(Control element)
{
base.ClearContainerForItemOverride(element);

Loading…
Cancel
Save