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
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.
* Fixes#1632
* Allow underline and strikethrought text decorations on labels and spans
* revert some files
* pr feedback adjustments
* remove docs
* rename interface
* reorder enum
* clean up whitespace
* adjust tizen renderer
* add gallery demo for setting both underline and strike
* allow multiple values of enum to be set in xaml/css
* use normal null check
* use nameof
* include paragraph style
* tab alignment
* rebase from upstream
* pass control to update method on UWP
* correct text decorations type converter
* reset run text instead of label text on UWP when spans are used
* add tests for text decoration converter
* Repro
* [Android] Force animations to finish immediately when power save mode is on; fixes#1556
* Add intial check for pre-Lollipop
* Return early if using a pre-Lollipop API version
* Stop crashing when I accidentally click on the Perf gallery
* [Core] Add TitleView to NavigationPage
- also add unit tests
- fixes#1716
* [Android] Add ClearRenderer static method to Platform
* [Android] Use Platform.ClearRenderer
it's a straight extract from this class
* [Android] Implement TitleView and TitleIcon on AppCompat backend
using lessons (and some duplicated code) from ListView header/footer views.
* [iOS] Implement TitleView
* [UWP] Implement TitleIcon and TitleView
* [Core] Add NavigationPage.BarHeight
* [Android] Use BarHeight
* NavigationBarGallery updates
* [Core] Add iOS HideNavigationBarSeparator Platform Specific
* [iOS] Implement HideNavigationBarSeparator Platform Specific
* sample search page
* Convert BarHeight to Android platform specific
* Reset BarHeight when leaving the gallery
* Add a sample TitleView xaml page
* VisualElement >> View
* Fix comment
* Improved SearchTitle sample page
* [Core] Set TitleView Parent on Changing instead of Changed
Changing is too late for the iOS layout
* [iOS] Fix layouts in iOS10
* [iOS] Stop content clipping
* Expanded test page
* [iOS] Fix HideNavigationBarSeparator for iOS<11
* [iOS] Layout TitleView with margins
* More tweaks to test page
* [UWP] Fix OnDetailPropertyChanged if/else
* [UWP] Comment empty setters
* Convert commented code to more useful comment.
* Adjust performance test async call
When a BP changes, the BP value changes, the propertyChanged event is
fired, then the propertyChanged delegate is executed.
As the invalidation was done in the event, and setting the flexitem
property was done in the delegate, the invalidation, and relayout, was
executed with an out-of-date flexitem.
With this change, we invalidate the child size, and that'll bubble up to
invalidate the layout, as part of the property changed delegate
- fixes#2821
* Support default value for value types in BindableProperty when no explicit default is provided
* Add unit test for enum/struct BindableProperty default values
* Call ChangeVisualState when new states are added so element is in correct
state when loaded from XAML; fixes#2625
* Fix build for UI test projects
* fix uitest build
* Bindable Text Property on Span
* Minor fix and cleanup
* Cleanup of code after review
* Android TapGestureRecognizer for Span
* iOS Span TapGestureRecognizer enabled
* Corrected Android issue with LineHeights
* UWP code cleanup for new Span properties
* WPF Span GestureRecognizers added
* Set Parent and reduce calls to Text property
* Add gesture recognizer to label if not present.
* Label Changed to handle Span and GestureRecognizer changes.
iOS updated to accomodate new CompositeGestureRecognizer
* Move Android to new Label structure
* Overridden Collection Clear events
* Refactoring code
* Refactor to extensions for span position calculations
* Further refactor and cleanup after rebase
* Fixed rebase issues
* Bug fixes, refactoring and performance improvements
* Moved to region and supported triggering overlapping regions, including inflation
* Inflation added
* Region inflate, and GestureElement
* Refactoring
* Refactoring of naming and loops
* Cleanup
* Removed command
* UWP tap span fix
* Detect child gesture recognizers in Android
* BackgroundColor support on span for WPF
* Remove trailing tabs
* Region UnitTests
* Refactor based on review
* Further code cleanup
* [C] Update Bindings with "BindingContext" in path
If the BindingContext is set using SetInheritedBindingContext, INPC
isn't fired, and bindings containing the "BindingContext" string in
the path ends up not being notified of the Change.
In addition to listening to PropertyChanged, this also hooks into
BindingContextChanged, and update the bindings accordingly.
- fixes#2019
* back to last year
BindableProperties with a defaultValueCreator are never in the default
(as defined by the defaultValue parameter) state. IsSet now reflects
that.
To allow styling properties with defaultVC, this adds a new flag in
BindableContextAttributes.
* Bindable Text Property on Span
* Style applied to Span
* Added style property
* Unit tests added
* Minor fix and cleanup
* Cleanup of code after review
* Updated docs
* Set Parent and reduce calls to Text property
* OneTime Binding
* Allow OneTime Binding as a default
* Updated docs
In scenarios where you want to keep track of pages as they are
appearing on screen, it's useful to be able to subscribe to a
global event from the `Application` to track those pages for
later processing (i.e. showing a timeline for the app, reloading
XAML for some of those pages, maybe replaying the timeline, etc.)
The new events are automatically raised from the Page base class
right after sending the page-level Appearing/Disappearing events.
* Let user set delegate to resolve handlers, effects, and services; closes#1739
* Remove old comments
* Move dependency-resolution-specific code to a separate class;
Remove Reset method; simplify internal API;
* Update docs to reflect new changes
* Add type checks closer to resolution; rename ForceResolve; remove public delegate type;
* Update docs