Max Katz
01b2e91e46
Merge pull request #10944 from AvaloniaUI/fixes/10249-itemscontrol-isselected-binding
Fix binding container IsSelected in styles/themes
3 years ago
Steven Kirk
c7c663d4a0
Merge branch 'master' into fixes/10367-virtualization-improvements-2
3 years ago
Max Katz
8de2725c6a
Merge pull request #10861 from lnxon/master
Avoid IME to be disabled after popups, fix #8758
3 years ago
Max Katz
9af071babb
Merge pull request #10897 from AvaloniaUI/fix-stackoverflow-with-redefining-resource
Fix stackoverflow with redefining resource
3 years ago
Max Katz
bbaaaa7726
Merge branch 'master' into fix-stackoverflow-with-redefining-resource
3 years ago
Nikita Tsukanov
cce3fea3a6
Merge pull request #10895 from AvaloniaUI/linux-frame-position
X11 - Return frame position for Window.Position
3 years ago
Emmanuel Hansen
f53498a90e
use empty extents if frame extents isn't available
3 years ago
Emmanuel Hansen
6b98400f87
report frame position for linux
3 years ago
Max Katz
c2ae6c9eea
Merge pull request #10929 from Enscape/fixes/setcurrentvalue-slider
Use `SetCurrentValue` in `Slider`
3 years ago
Steven Kirk
2aca946a71
Respect single-select with IsSelected bindings.
Use the existing `UpdateSelection` methods to correctly respect the current `SelectionMode`.
3 years ago
Steven Kirk
487fe9ed77
Make TreeViewItem IsSelected bindings work.
3 years ago
Steven Kirk
191a835c6a
Make container IsSelected bindings work again.
Rather than using the `ISelectable` interface to communicate container selection from the `SelectingItemsControl` to the container, use the `SelectingItemsControl.IsSelected` attached property, setting it with `SetCurrentValue` so that bindings defined in a style or item container theme can override the selection. Required an extra virtual `ContainerForItemPreparedOverride` method on `ItemsControl`.
3 years ago
Benedikt Stebner
d3cb56c901
Merge branch 'master' into master
3 years ago
Tom Edwards
b7cf688f86
Use SetCurrentValue in Slider
3 years ago
Steven Kirk
70b6da25e5
Merge pull request #10803 from Enscape/refactor/rangebase-styledproperty
Refactor `RangeBase` to use `StyledProperty`
3 years ago
Steven Kirk
8c54c69e42
Merge branch 'master' into refactor/rangebase-styledproperty
3 years ago
Max Katz
280640083f
Merge pull request #10923 from AvaloniaUI/ios-dispatcher-impl
Proper implementation of DispatcherImpl for iOS
3 years ago
Max Katz
cf4154505b
Avoid BlockLiteral based APIs for simplicity
3 years ago
Max Katz
3a6b44a5cf
Fix platform settings returning empty color
3 years ago
Max Katz
76eeca8f12
Format code
3 years ago
Max Katz
d0be3f2d7b
Proper implementation of DispatcherImpl for iOS
3 years ago
Steven Kirk
e609822311
Modernized some SelectingItemsControl tests.
And moved some of the tests that were specific to user interaction to `ListBoxTests` as `SelectingItemsControl` doesn't define user interactions.
3 years ago
Steven Kirk
594346e0a5
Make IsSelected an attached property.
Make `IsSelected` an attached property on `SelectingItemsControl` and make it bind two-way. Follows the pattern defined in WPF.
3 years ago
Steven Kirk
48f77028ac
Merge branch 'master' into refactor/rangebase-styledproperty
3 years ago
Steven Kirk
2340a30c2b
Merge branch 'master' into fixes/10367-virtualization-improvements-2
3 years ago
Max Katz
eb09e522c1
Changes after review
3 years ago
Steven Kirk
39db10b345
Handle recycling control items inside containers.
Fixes #10825
3 years ago
Steven Kirk
670eea0977
Modernized ItemsControl tests.
3 years ago
Steven Kirk
27f103025a
Fix nullable errors.
3 years ago
Max Katz
55640f0c2b
(hack?) Fix stackoverflow
3 years ago
Max Katz
0fcf67d1cd
Add failing test
3 years ago
Steven Kirk
124d318499
Handle unrealized focused element losing focus.
3 years ago
Steven Kirk
9f95bd9156
Recycle elements early when viewport is disjunct.
3 years ago
Steven Kirk
36444706c1
Added a playground page to virtualization demo.
For testing selection, collection changes and scroll into view etc.
3 years ago
Benedikt Stebner
ec6cd48de9
Merge pull request #10893 from AvaloniaUI/maxkatz6-patch-1
Move WithInterFont to the global Avalonia namespace
3 years ago
Max Katz
935c0b549d
Move WithInterFont to the global Avalonia namespace
To keep it in line with other AppBuilder extensions, keeping Program.cs file simpler
3 years ago
Steven Kirk
e1b0d5e137
We can't realize items outside of our bounds.
`EffectiveViewportChanged` can result in a viewport that is larger than the panel bounds in cases where clipping is not enabled on the parent. Constrain the viewport to the size of the panel.
3 years ago
Steven Kirk
5919ca6acc
Modify VirtualizingStackPanel algorithm.
Try to get an "anchor element" during measure, which is an existing element in the viewport that we know the position of. Start realizing elements from this anchor element.
3 years ago
Steven Kirk
bc32c061e8
Added tests to detect scroll jumps.
3 years ago
Steven Kirk
54449850cc
Make thumb drag delta relative to parent.
Prevents the viewport jumping around when scrolling a virtualized list with differing sizes. Instead the thumb jumps around.
3 years ago
Steven Kirk
345fb7e1d6
Register anchor candidate in panel.
We need to register controls as anchor candidates in the panel instead of in `ItemsControl` because the candidate needs to be registered after arrange. Consider this scenario:
- In Measure:
- Container is realized and registered as an anchor candidate
- Container is unrealized and unregistered
- Container is recycled and registered, but it is still placed in the position from before it was recycled
- In Arrange:
- The container is placed in its new position
- The `ScrollContentPresenter` sees it's been moved and adjusts the viewport to anchor it
This is obviously incorrect, but was what was happening when `ItemsControl` was responsible for registering anchor candidates.
Instead of tracking which containers have already been registered, change the list of anchor candidates in `ScrollContentPresenter` to a `HashSet` so we can just register it multiple times.
3 years ago
Steven Kirk
35d70577f4
Added repro for #10367 to virtualization demo.
3 years ago
Steven Kirk
5e961ff7bf
Started rewriting VirtualizationDemo.
To give some more realistic examples of lists to test virtualization on. Started with a chatgpt-generated chat.
3 years ago
Max Katz
e4ed304234
Merge pull request #10884 from CollinAlpert/nullability_fix
Fix nullability of List<FileDialogFilter>
3 years ago
Collin Alpert
659a256aa6
Fix nullability
3 years ago
Nikita Tsukanov
f859713822
Merge pull request #10874 from robloo/privateassets
Mark Tmds.DBus.* as PrivateAssets in Avalonia.FreeDesktop.csproj
3 years ago
robloo
b7fa91a0ad
Remove `PrivateAssets="All"` from Tmds.DBus.Protocol package ref
3 years ago
robloo
541787274d
Mark Tmds.DBus.* as PrivateAssets in Avalonia.FreeDesktop.csproj
3 years ago
Tom Edwards
87e2ed8107
Don't detach from ScrollViewer when detached from visual tree
Fixes offset resetting when switching between tabs
3 years ago
Tom Edwards
e3c6ee0da3
Convert ScrollGestureRecognizer to an unstyled element
Added missing binding of IsScrollInertiaEnabled in the simple theme
3 years ago