donandren
7c5545f108
performance optimization of
- AvaloniaObject.GetValue
- AvaloniaPropertyRegistry.IsRegistered
- AvaloniaProperty.GetMetadata
10 years ago
Steven Kirk
71b3343097
Allow virtualized list to take up available space.
10 years ago
Steven Kirk
f3c7ea27a1
Set ContentPresenter.DataContext in UpdateChild.
Thus delaying any changes that changing the data context would make
until we know we have the correct child.
10 years ago
Steven Kirk
2cca250916
Move items in panel Children collection
Instead of removing and re-adding them as this causes a removal and
re-addition to the logical tree, with all the overhead that involves.
10 years ago
Steven Kirk
05f836c4c3
Added Move and MoveRange to AvaloniaList.
Also added test for replace operation.
10 years ago
Steven Kirk
d717b46112
Fixed DevTools.
- Set `InheritanceParent` before Parent so that control doesn't
initially inherit the wrong DataContext
- Don't set `InheritanceParent` when setting `Parent` if
`InheritanceParent` already set
- Added `IDataTemplate.SupportsRecycling`
10 years ago
Steven Kirk
35c4835ae4
Recycle DataTemplates.
If a `ContentPresenter`s content is assigned a value which matches the
current `DataTemplate` then just change the
`ContentPresenter.DataContext` and the existing item will update itself.
10 years ago
Steven Kirk
89ca4857f0
Tweaked a couple of tests.
10 years ago
Steven Kirk
fbb7ea759b
Make ItemContainerGenerator create containers
Make the untyped ItemContainerGenerator create `ContentPresenter`
containers when the data isn't a control. This is required for correct
binding to `DataContext` in a data template.
10 years ago
Steven Kirk
e686786959
Use dictionary to track item containers.
Because even when virtualized we were still creating a list the size of
the Items collection to store the containers. Using Dictionary here
still isn't ideal - we'd ideally use some sort of sparse array but that
can be optimized later.
10 years ago
Steven Kirk
20847b1960
Added documentation for item virtualizers.
10 years ago
Steven Kirk
aeab538162
Fix CarouselPresenter.
Forgot to assign to return value!
10 years ago
Steven Kirk
6e73244a1e
Handle move and replace in virtualized lists.
10 years ago
Steven Kirk
f9e730e705
Tweaked comments.
10 years ago
Steven Kirk
c718f65e4c
Make inserting items more user friendly.
10 years ago
Steven Kirk
7ca7f53537
More work on items removed.
10 years ago
Steven Kirk
b6dc913b20
Allow multiple selection in virt test app.
10 years ago
Steven Kirk
72ea9f02c7
More work on virtualization with INCC.
Got removes working a bit better.
10 years ago
Steven Kirk
96c5578690
Merge pull request #554 from VitalElement/grokys/item-virtualization-avalonia
WIP Further Implementation of INCC handling
10 years ago
Dan Walmsley
ac8185b8c3
added implementation for removing first and last elements.
10 years ago
Dan Walmsley
1417aab362
added some more test cases for simple virtualization.
10 years ago
danwalmsley
2e9c19beaf
Throw not implemented exception placeholder.
10 years ago
danwalmsley
e2fe94cafb
Added test for removing last item in the list, when scrolled to end.
10 years ago
danwalmsley
e015fc15b2
add items, adds after selected item.
10 years ago
danwalmsley
94f8abbc4d
add items at selected index, or at end if no selection.
10 years ago
danwalmsley
defae349a7
added button to prepend and append items to list.
10 years ago
danwalmsley
35fe93c9c2
added support for add items and remove items in virtualization sample app.
10 years ago
Steven Kirk
3e8a8c6d7c
WIP: INCC virtualization support.
10 years ago
Steven Kirk
722a329106
Add containers at beginning when scrolled to end.
10 years ago
Steven Kirk
6df5ff4917
Split virtualization tests in two
One for base virtualization tests and one for simple mode tests.
10 years ago
Steven Kirk
7f09154020
Correctly handle partially obscured items.
And move logical for selecting horizontal/vertical components of
extent/offset/viewport into `ItemVirtualizer` base class.
10 years ago
Steven Kirk
749c32ace6
Added failing partial item tests.
10 years ago
Steven Kirk
be78eb2ed1
Dematerialize correct items.
10 years ago
Steven Kirk
780ff4c0b4
Correctly resize items.
10 years ago
Steven Kirk
2ea322f54f
Added "Recreate" button to virtualization test app.
10 years ago
Steven Kirk
9c791dbbc1
Clarified variable name.
10 years ago
Steven Kirk
2d4151ddfe
Update containers when Items changes.
10 years ago
Steven Kirk
55f05defd1
Make scrolling up >= 1 page work
10 years ago
Steven Kirk
43d9fa5724
Show scroll info in virt test app.
10 years ago
Steven Kirk
5582750bb6
Added virtualization test app.
10 years ago
Steven Kirk
69ba9810d8
Added ListBox.VirtualizationMode
10 years ago
Steven Kirk
6cab63fb70
Don't try to dematerialize null containers.
10 years ago
Steven Kirk
2c8d8179e5
Fix virtualized item selection.
So that recycled items' selection state is set correctly.
10 years ago
Steven Kirk
2d5a41a729
Update ListBoxTests
Now ListBox is virtualized it needs more setup for unit testing.
10 years ago
Steven Kirk
cfdfa9400e
Simplify ListBox unit test template creation.
10 years ago
Steven Kirk
e930c35882
Expose IScrollable in ListBox.
To allow programmatic control of the ListBox's scroll.
10 years ago
Steven Kirk
d346b35ab7
Added IScrollable interface.
This is now the basic Extent/Offset/Viewport interface. Implemented by
ScrollViewer and ScrollContentPresenter.
10 years ago
Steven Kirk
b44589e0cb
Renamed IScrollable -> ILogicalScrollable
We're going to need IScrollable as an interface to ScrollViewer-type
controls.
10 years ago
Steven Kirk
03c138ff90
Delegate ScrollIntoView to ItemVirtualizer.
This doesn't make sense for ItemVirtualizationMode.Simple so we do
nothing here.
10 years ago
Steven Kirk
f12435731b
Removed Thingamybob.
10 years ago