* only set the Page Padding via SafeAreaInset on iOS
-fixes #3809
* [Controls] add waits for clicks in ui tests
* [Controls] remove wrong category
* [iOS] Move inset logic down into ios renderer
* [Core] Use WeakEventManager on CanExecuteChanged
* [Core]Add unit test for remove event handler with WeakEventManager
* [Core] Fix remove the correct handler
* [Core, UWP, Android] support TabStop/TabIndex
* removing linq
* add iOS / MacOS implementation
* add WPF implementation
fixes UWP implementation
* - addressing comments
- improve test
- optimizations
- added previous tab direction in same tab group
* addressing comments
* [Android] support tabstop for pickers
* - moving shared code to a static class
- removed reflection
* ITabStop -> changed to internal, renamed, added in to fastRenderers
* Update ITabStop to be public
map new CSS properties:
- `color` on `IColorElement` (`ActivityIndicator`, `BoxView`),
`ProgressBar` and `Switch`
- `row-gap` and `column-gap` on `Grid`
- `transform` and `transform-origin` on `VisualElement`
- `vertical-align` on `Label`
add new XF-specific CSS properties
- `-xf-placeholder` and `-xf-placeholder-color` on `Editor`, `Entry`,
`SearchBar`
- `-xf-max-length` on `InputView` (`Editor` and `Entry`)
- `-xf-bar-background-color` and `-xf-bar-text-color` on
`NavigationPage` and `TabbedPage`
- `-xf-orientation` on `ScrollView` and `StackLayout`
- `-xf-horizontal-scroll-bar-visibility` and
`-xf-vertical-scroll-bar-visibility` on `ScrollView`
- `-xf-min-track-color`, `-xf-max-track-color` and `("-xf-thumb-color`
on `Slider`
- `-xf-spacing` on `StackLayout`
This PR replaces and closes#3276
- fixes#2891
* [iOS, UWP] fixes#2894 - Gestures weren't wiring up to spans in all cases
* [Core] remove ChildGestureRecognizers when spans get removed
* [iOS] removed incorrect return from null
* [iOS] fixes#3525 - add epsilon for float compare and make region immutable
* [ControlGallery] spread out spans to account for click slop
* [ControlGallery] - adjust span slightly for android test
* [Core] remove private
For CSS purposes, the VisibilityConverter was added, and actually
replaced the `Boolean.Parse(str)` call for parsing Visibility.
`Boolean.Parse()` trims input, and the converter was not, so this was a
regression.
This changes Trim() the input, to be fully backward compatible.
- fixes#3554
* Implemented MaxLines on iOS, Mac OS, Android, UWP and WPF
Introduced new MaxLines property on Label
* Set default value to -1
* Implemented reverting to default value
* More improvements
Update measurement when MaxLines property value changes and updates to default values.
fixes#2060fixes#1706
Due to a flux in the matrix, Bindings with a TargetNullValue assigned
were always returning that value. It had the advantage of being right
sometimes, but the inconvenient for being wrong, most of the times.
By properly aligning the bits of the register with the sun at beer time,
we can avoid that side effect, and actually returns a value when the
binding is succesful, and the TargetNullValue whem the Binding returns
null.
- fixes#3467
* add ability to control smooth scrolling
* added test case
* removed test case
* add test button
* EnableGesture should be controlled by another platform specific
To allow mapping a single CSS property to multiple controls, we so far
relied on extracting the BindableProperties to static helper classes,
and implementing an interface for accessors, and eventually change
handlers.
That extraction works well, and is actually a good pattern, as long as:
- the extracted BPs share the same PropertyName,
- default value, and
- return type, obiously
As the CSS `color` property has to map to both `TextColor` and `Color`
BPs, the property extraction wasn't possible.
This change adds the capability to map a single CSS property to
multiples BPS, when extraction isn't possible. Whenever the extraction
to an interface is possible, that behavior is strongly encouraged.