CircularRangeBehavior Constructor uno
Creates a new CircularRangeBehavior
Helper class for implementing circular RangeControls
Used to enable circual touch input on RangeControl. Typically used when implementing circular range pickers, like a clock timepicker or dials.
The following example shows a simple circular RangeControl implemented using CircularRangeBehavior
, where a visual is rotated as the RangeControl is changed. The range is calculated from the angle between the mouse and the X-axis
<RangeControl Width="180" Height="180" Margin="2">
<CircularRangeBehavior />
<Panel ux:Name="thumb" Margin="4">
<Rectangle Color="#fff" Alignment="Right" Height="18" Width="48" CornerRadius="4" />
</Panel>
<ProgressAnimation>
<Rotate Target="thumb" Degrees="360" />
</ProgressAnimation>
<Circle Color="#aaa" />
</RangeControl>
When used with a RangeControl2D, you can get both the angle progress, and the radius progress. This effectively means that your range control allows the user to control two ranges at once.
<RangeControl2D Width="180" Height="180" Margin="2" ux:Name="rangeControl">
<CircularRangeBehavior/>
<Panel ux:Name="thumb" Margin="4">
<Rectangle Color="#fff" Alignment="Right" Height="18" Width="48" CornerRadius="4" />
</Panel>
<RangeAnimation Minimum="0" Maximum="100" Value="{ReadProperty rangeControl.ValueX}">
<Rotate Target="thumb" Degrees="360" />
</RangeAnimation>
<RangeAnimation Minimum="0" Maximum="100" Value="{ReadProperty rangeControl.ValueY}">
<Change radiusCircle.Factor="1" />
</RangeAnimation>
<Circle Color="#0FF" Alignment="Center" Width="180" Height="180">
<Scaling ux:Name="radiusCircle" Factor="0" />
</Circle>
<Circle Color="#aaa" />
</RangeControl2D>
Creates a new CircularRangeBehavior
The maximum angle for which the range controller will register rotation.
Alters the priority of the gesture. Relative to other gestures.
Prevents DegreesValue
from being 360. Sets it to 0 instead.
The maximum radius the range controller will map to.
The minimum radius the range controller will map to.
The minimum angle for which the range controller will register rotation.
The list of bindings belonging to this node.
The context parent is the semantic parent of this node. It is where non-UI structure should be resolved, like looking for the DataContext, a Navigation, or other semantic item.
Finds the first node with a given name that satisfies the given acceptor. The serach algorithm works as follows: Nodes in the subtree are matched first, then it matches the nodes in the subtrees ofthe ancestor nodes by turn all the way to the root. If no matching node is found, the function returns null.
Whether rooting for this node is completed. Returns false if unrooting has started.
Whether rooting of this node has started. Note that even if this property returns true, rooting may not yet be completed for the node. See also IsRootingCompleted.
Run-time name of the node. This property is automatically set using the ux:Name attribute.
Returns the next sibling node of the given type.
If you override OnRooted
you must call base.OnRooted()
first in your derived class. No other processing should happen first, otherwise you might end up in an undefined state.
The parent Visual of this node. Will return null if the node is not rooted.
Returns the next sibling node of the given type.
A linked list holding data for extrinsic properties.
hide
hide
Feedback to the gesture about pointer events as well as priority feedback to the gesture handler.
Interface for objects that can have a script engine representation
hide