Browse Source

Deafult ItemsPresenter virtualization to None

And override it in ListBox. This prevents ItemsPresenter thinking it's virtualized in a TreeView. Fixes #610.
pull/627/head
Steven Kirk 10 years ago
parent
commit
0bf9404e00
  1. 3
      src/Avalonia.Controls/ListBox.cs
  2. 2
      src/Avalonia.Controls/Presenters/ItemsPresenter.cs
  3. 1
      tests/Avalonia.Controls.UnitTests/ListBoxTests.cs

3
src/Avalonia.Controls/ListBox.cs

@ -42,7 +42,7 @@ namespace Avalonia.Controls
/// <summary>
/// Defines the <see cref="VirtualizationMode"/> property.
/// </summary>
public static readonly AvaloniaProperty<ItemVirtualizationMode> VirtualizationModeProperty =
public static readonly StyledProperty<ItemVirtualizationMode> VirtualizationModeProperty =
ItemsPresenter.VirtualizationModeProperty.AddOwner<ListBox>();
private IScrollable _scroll;
@ -53,6 +53,7 @@ namespace Avalonia.Controls
static ListBox()
{
ItemsPanelProperty.OverrideDefaultValue<ListBox>(DefaultPanel);
VirtualizationModeProperty.OverrideDefaultValue<ListBox>(ItemVirtualizationMode.Simple);
}
/// <summary>

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

@ -20,7 +20,7 @@ namespace Avalonia.Controls.Presenters
public static readonly StyledProperty<ItemVirtualizationMode> VirtualizationModeProperty =
AvaloniaProperty.Register<ItemsPresenter, ItemVirtualizationMode>(
nameof(VirtualizationMode),
defaultValue: ItemVirtualizationMode.Simple);
defaultValue: ItemVirtualizationMode.None);
private ItemVirtualizer _virtualizer;

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

@ -164,6 +164,7 @@ namespace Avalonia.Controls.UnitTests
Name = "PART_ItemsPresenter",
[~ItemsPresenter.ItemsProperty] = parent.GetObservable(ItemsControl.ItemsProperty).AsBinding(),
[~ItemsPresenter.ItemsPanelProperty] = parent.GetObservable(ItemsControl.ItemsPanelProperty).AsBinding(),
[~ItemsPresenter.VirtualizationModeProperty] = parent.GetObservable(ListBox.VirtualizationModeProperty).AsBinding(),
}
});
}

Loading…
Cancel
Save