The meaning of
DurationBackhas now changed. The delay is now measured from the end of the timeline, and is the delay prior to the transiton starting. The transition still takes
DurationBacktime, but does not start until after
DelayBacktime. This attempts to create a more understandable definition of the
ProgressAnimatorhas been removed. The
TrackAnimatorshould be used instead.
Handle renamed to Name
State.Handleproperties are renamed to
ux:Namenow sets the
State, and vice versa. (the
ux:prefix is therefore no longer strictly required for
- Script events that used to provide a
handleproperty now provide a
<Page Handle="foo" />
<Page ux:Name="foo" />
<Page Name="foo" />
Number.Formatnow takes a shorter format string, for example:
Effect.RenderBoundsremoved and replace with
ModifyRenderBoundsto allow chaining and effects to clip the bounds (as Mask does)
RenderNodenow invalidates when children are added or removed and propagates layout to the children
- Added Observable.refreshAll + documentation
PullToReloadtrigger added to support common behaviour of pulling down on a scroller to reload the contents
ColumnLayoutadded as a new layout type
ScrollViewerhas had some adjustments in how it responds to resizing. The result should be smoother now than before.
ScrollViewer.SnapMinTransformcan now be set to false to disable any visual handling of the snap region at the top/left.
Fontproperties are no longer inherited properties and must be set specifically on the new
TextControlor derived types (specifically
Text). If you used such a property on a non-TextControl before and need it to cascade to the children set it in a
Styleon that node instead.
<Panel FontSize="16"> <Text/>
<Panel> <Text FontSize="16"/>
Or to affect all Text children:
<Panel> <Style> <Text FontSize="16"/> </Style>
TextEditderive from common
TextControl. Shared properties moved into base class.
TextEditmust be embedded in one of these controls now (to acquire the new
ITextPropertyProviderfor rendering details)
Layout in Node class
Nodeas children, not just
- Some properties/functions moved from
Node: LayoutRole, ArrangeMarginBox, GetMarginSize, InvalidateLayout, IsMarginBoxDependent, BringIntoView
ArrangeMarginBoxrequires a third parameter, the default was
- Some types moved from
Fuse: SizeFlags, LayoutRole, InvalidateLayoutReason, LayoutDependent
Element.ParentElementhas been removed as the parent may not be an element (case
Elementif you really need this, be aware of null)
Element.ElementRoothas been removed as it is no longer clear what it means, and should not be used
InvalidateVisualReasonremoved as it wasn’t provided consistently and wasn’t used
RenderBoundsbecomes a property on Node, as does
Element.Boundshas been removed as it implied a feature that wasn’t there. Use
new Rect(float2(0),ActualSize)if you should actually need the local logical bounds of the control.
IWindowremoved. Accept a
Appnow suports behaviors (e.g.
- Renamed Experimental.Threading to Uno.Threading
- Optionally send in dispatcher to HttpMessageHandler.CreateRequest