Browse Source

Merge pull request #3227 from AvaloniaUI/fix-listbox-template-init-order

set Scroll before calling base.OnTemplateApplied.
release/0.9.0-preview6
danwalmsley 6 years ago
committed by Dan Walmsley
parent
commit
080059ff6d
  1. 2
      src/Avalonia.Controls/ListBox.cs
  2. 20
      tests/Avalonia.Controls.UnitTests/ListBoxTests.cs

2
src/Avalonia.Controls/ListBox.cs

@ -145,8 +145,8 @@ namespace Avalonia.Controls
protected override void OnTemplateApplied(TemplateAppliedEventArgs e)
{
base.OnTemplateApplied(e);
Scroll = e.NameScope.Find<IScrollable>("PART_ScrollViewer");
base.OnTemplateApplied(e);
}
}
}

20
tests/Avalonia.Controls.UnitTests/ListBoxTests.cs

@ -47,6 +47,26 @@ namespace Avalonia.Controls.UnitTests
Assert.IsType<ItemsPresenter>(target.Presenter);
}
[Fact]
public void ListBox_Should_Find_Scrollviewer_In_Template()
{
var target = new ListBox
{
Template = ListBoxTemplate(),
};
ScrollViewer viewer = null;
target.TemplateApplied += (sender, e) =>
{
viewer = target.Scroll as ScrollViewer;
};
Prepare(target);
Assert.NotNull(viewer);
}
[Fact]
public void ListBoxItem_Containers_Should_Be_Generated()
{

Loading…
Cancel
Save