private static ItemsPresenter CreateTarget( Orientation orientation = Orientation.Vertical, bool useContainers = true, int itemCount = 20, bool useAvaloniaList = false) { ItemsPresenter result; var itemsSource = Enumerable.Range(0, itemCount).Select(x => $"Item {x}"); var items = useAvaloniaList ? (IEnumerable) new AvaloniaList <string>(itemsSource) : (IEnumerable) new ObservableCollection <string>(itemsSource); var scroller = new ScrollContentPresenter { Content = result = new TestItemsPresenter(useContainers) { Items = items, ItemsPanel = VirtualizingPanelTemplate(orientation), ItemTemplate = ItemTemplate(), VirtualizationMode = ItemVirtualizationMode.Simple, } }; scroller.UpdateChild(); return(result); }
private static ItemsPresenter CreateTarget( ItemVirtualizationMode mode = ItemVirtualizationMode.Simple, Orientation orientation = Orientation.Vertical, bool useContainers = true, int itemCount = 20) { ItemsPresenter result; var items = Enumerable.Range(0, itemCount).Select(x => $"Item {x}").ToList(); var scroller = new TestScroller { CanHorizontallyScroll = false, CanVerticallyScroll = true, Content = result = new TestItemsPresenter(useContainers) { Items = items, ItemsPanel = VirtualizingPanelTemplate(orientation), ItemTemplate = ItemTemplate(), VirtualizationMode = mode, } }; scroller.UpdateChild(); return(result); }
public void Should_Not_Create_Items_Before_Added_To_Visual_Tree() { var items = Enumerable.Range(0, 10).Select(x => $"Item {x}").ToList(); var target = new TestItemsPresenter(true) { Items = items, ItemsPanel = VirtualizingPanelTemplate(Orientation.Vertical), ItemTemplate = ItemTemplate(), VirtualizationMode = ItemVirtualizationMode.Simple, }; var scroller = new ScrollContentPresenter { Content = target, }; scroller.UpdateChild(); target.ApplyTemplate(); target.Measure(new Size(100, 100)); target.Arrange(new Rect(0, 0, 100, 100)); Assert.Empty(target.Panel.Children); var root = new TestRoot { Child = scroller, }; target.InvalidateMeasure(); target.Panel.InvalidateMeasure(); target.Measure(new Size(100, 100)); target.Arrange(new Rect(0, 0, 100, 100)); Assert.Equal(10, target.Panel.Children.Count); }
private static ItemsPresenter CreateTarget( Orientation orientation = Orientation.Vertical, bool useContainers = true, int itemCount = 20, bool useAvaloniaList = false) { ItemsPresenter result; var itemsSource = Enumerable.Range(0, itemCount).Select(x => $"Item {x}"); var items = useAvaloniaList ? (IEnumerable)new AvaloniaList<string>(itemsSource) : (IEnumerable)new ObservableCollection<string>(itemsSource); var scroller = new TestScroller { Content = result = new TestItemsPresenter(useContainers) { Items = items, ItemsPanel = VirtualizingPanelTemplate(orientation), ItemTemplate = ItemTemplate(), VirtualizationMode = ItemVirtualizationMode.Simple, } }; scroller.UpdateChild(); return result; }
private static ItemsPresenter CreateTarget( ItemVirtualizationMode mode = ItemVirtualizationMode.Simple, Orientation orientation = Orientation.Vertical, bool useContainers = true, int itemCount = 20) { ItemsPresenter result; var items = Enumerable.Range(0, itemCount).Select(x => $"Item {x}").ToList(); var scroller = new TestScroller { Content = result = new TestItemsPresenter(useContainers) { Items = items, ItemsPanel = VirtualizingPanelTemplate(orientation), ItemTemplate = ItemTemplate(), VirtualizationMode = mode, } }; scroller.UpdateChild(); return result; }