Steven Kirk
2807cbe6cb
Make LayoutManager disposable.
And dispose it on `TopLevel` close: this allows layout passes to be run before a window/popup is shown but prevents it being run after close.
6 years ago
Steven Kirk
d3c3741bec
No longer need to pass root to ExecuteInitialLayoutPass.
6 years ago
Steven Kirk
7694fc0484
Don't run layout passes on hidden TopLevels.
To do this we need to pass the root to `LayoutManager`.
Fixes #4161
6 years ago
Steven Kirk
d0edfa0447
Close submenu when pointer leaves.
6 years ago
Dariusz Komosinski
7123747a4b
Enable nullable, and use expression bodied properties.
6 years ago
Dariusz Komosinski
7145068863
Fix copy pasta error.
6 years ago
Max Katz
57bb2e6267
Add Pressed mixin to TreeViewItem
6 years ago
Dariusz Komosinski
41af8ec3a8
Remove strange using.
6 years ago
Dariusz Komosinski
8691aea157
Cleanup code and add doc comments.
6 years ago
Dariusz Komosinski
52606fa56d
Implement auto hide and sync scrollviewer this scrollbar visibility.
6 years ago
Rustam Sayfutdinov
8414ace5cf
Remove duplicate code for RoundLayoutValue
6 years ago
Rustam Sayfutdinov
70f37dcf21
Revert "Remove duplicate code for RoundLayoutValue"
This reverts commit 2edcb3b676 .
6 years ago
Steven Kirk
a81306f72c
Updated repeater logging to new API.
6 years ago
JamRemco
b9cec08b41
ToggleSwitchpage for Control gallery ( #4137 )
Co-authored-by: danwalmsley <dan@walms.co.uk>
6 years ago
Dan Walmsley
beb4c30107
fix if statement logic .
6 years ago
Dan Walmsley
62bc5279ca
use nearly equals for deciding to raise scrollchanged event.
6 years ago
Rustam Sayfutdinov
2edcb3b676
Remove duplicate code for RoundLayoutValue
6 years ago
Steven Kirk
479d480ad9
Parameterize logger on area as well as level.
So we can filter our more logging calls early.
6 years ago
Steven Kirk
ccd6d54b38
Add a simple non-serilog debug log sink.
6 years ago
Max Katz
461bf787d8
Add pressed mixin to TabItem
6 years ago
Dan Walmsley
62a88c8a5c
remove un-needed code.
6 years ago
Dan Walmsley
29c575e6d9
add missing documentation.
6 years ago
Steven Kirk
bc891efc13
Don't raise ScrollChanged if nothing changed.
And remove empty braces in test.
6 years ago
Steven Kirk
7c69f3ee00
Clear DataContext of cleared elements in ItemsRepeater
When we set the DataContext, we save that fact in the VirtualizationInformation for that element, when that element gets cleared, we look up in the VirtualizationInformation whether we should need to clear the DataContext too, and do that if necessary.
Ported from e9bd88e598
6 years ago
JamRemco
b18b70b82e
Adding Defauld values and change OuterBorderWidth
6 years ago
Steven Kirk
68de1ecff0
Unregister scroll anchors when resetting scrollers.
6 years ago
Steven Kirk
e36fbc6f22
More anchor validation checks.
- Make sure an anchor is a descendent of the `ScrollContentPresenter` when added
- Ignore controls that are no longer descendents of the `ScrollContentPresenter` when evaluating
6 years ago
ahopper
dde9bebab1
fix non zero minimum on slider
6 years ago
Max Katz
0d685ac7d6
Add :pressed :open :icon pseudoclasses to MenuItem
6 years ago
JamRemco
19eac7224a
Fix border
6 years ago
Dariusz Komosinski
0ac2468981
Fix typo in Track that was breaking layout for inverse horizontal tracks.
6 years ago
Dariusz Komosinski
5f3da3a44c
Initial attempt at porting fluent scrolling.
6 years ago
Max Katz
71a234db9b
Update MarginMultiplierConverter to support Thickness input
6 years ago
Nikita Tsukanov
da580f0373
Internal API for rounded border clip for usage with Border.
6 years ago
Dariusz Komosinski
8c5b22c8cc
Initial CSS like transform support.
6 years ago
amwx
0863b29d09
Rename existing DatePicker control
6 years ago
JamRemco
78993eb33c
Add contentoff and contentOn to toggleswitch
Add more resource suport
6 years ago
Steven Kirk
f813ad26ce
Fix visual parent traversal and handle null scroller.
6 years ago
Steven Kirk
516bc8b4e1
Get effective viewport size from forthcoming arrange.
Instead of using `ScrollContentPresenter.Viewport` which hasn't been updated yet.
6 years ago
Rustam Sayfutdinov
c73e777ed2
Return hack with double.Epsilon
6 years ago
Rustam Sayfutdinov
a2b5b3ad3b
Fix machine epsilon for double elsewhere
6 years ago
Steven Kirk
fc711e7c86
Measure PopupRoot to MaxAutoSizeHint.
On win32 popup's don't receive `WM_GETMINMAXINFO` so instead query the monitor info for the max work area,
6 years ago
Steven Kirk
d4215a56ec
Restyle `ScrollViewer` in menus.
Make it appear as an up and down button at the top and bottom of the menu when needed. This follows WPF's menu scrolling behavior.
6 years ago
Steven Kirk
11c83727bf
Added ResizeX/Y constraint adjustments.
And set these by default on `Popup`/`ContextMenu`.
6 years ago
Steven Kirk
3780d1e8b5
Added PlacementConstraintAdjustment property.
To `Popup` and `ContextMenu`. Set default value to be `FlipX | FlipY` to try to match WPF's defaults.
6 years ago
Steven Kirk
ed7f6c0af4
Fix LayoutUpdated subscriptions.
And don't call `OnEffectiveViewportChanged` if viewport unchanged.
6 years ago
Steven Kirk
afe511e2f3
Remove debug code.
6 years ago
Steven Kirk
0f891dc0b7
Fix scrolling to non-uniform size items.
- Change the hack we're using to find the effective viewport in `ViewportManager`
- Unregister anchor candidates when bringing an item into view
- Adjust `ScrollContentPresenter` extent when tracking an anchor, if the adjustment causes the offset to go out of bounds of the extent
- Simplify coercing `Offset` in `ScrollViewer`
6 years ago
Steven Kirk
eb8ea62bda
Use tuple name iinstead of Item1.
6 years ago
Steven Kirk
29636f06c9
Don't invalidate arrange during arrange.
When `Offset` is adjusted due to scroll ancoring during the arrange pass in `ScrollContentPresenter`, don't invalidate the arrange: we've got it handled.
6 years ago