Stroke.StylusPoints Property
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Gets or sets the stylus points of the Stroke.
Namespace: System.Windows.Ink
Assembly: System.Windows (in System.Windows.dll)
XMLNS for XAML: Not mapped to an xmlns.
Syntax
Public Property StylusPoints As StylusPointCollection
public StylusPointCollection StylusPoints { get; set; }
<Stroke>
<Stroke.StylusPoints>
oneOrMoreStylusPoints
</Stroke.StylusPoints>
</Stroke>
XAML Values
- oneOrMoreStylusPoints
One or more StylusPoint object elements. Each such StylusPoint typically has attribute values for X and Y.
Property Value
Type: System.Windows.Input..::.StylusPointCollection
The StylusPointCollection that contains the stylus points that represent the current Stroke.
Examples
The following code example uses the StylusPoints property to iterate through stylus points of the strokes drawn in the first InkPresenter control to display its mirror image in the second InkPresenter control.
Private MyStroke As Stroke
Public Sub New()
MyBase.New()
InitializeComponent()
SetBoundaryForIP1()
SetBoundaryForIP2()
End Sub
'A new stroke object, MyStroke, is created and is added to the StrokeCollection object
'of the InkPresenter, MyIP1
Private Sub MyIP1_MouseLeftButtonDown(ByVal sender As Object, ByVal e As MouseEventArgs)
MyIP1.CaptureMouse()
Dim MyStylusPointCollection As StylusPointCollection = New StylusPointCollection
MyStylusPointCollection.Add(e.StylusDevice.GetStylusPoints(MyIP1))
MyStroke = New Stroke(MyStylusPointCollection)
MyIP1.Strokes.Add(MyStroke)
End Sub
'StylusPoint objects are collected from the MouseEventArgs and added to MyStroke
Private Sub MyIP1_MouseMove(ByVal sender As Object, ByVal e As MouseEventArgs)
If (Not (MyStroke) Is Nothing) Then
MyStroke.StylusPoints.Add(e.StylusDevice.GetStylusPoints(MyIP1))
End If
End Sub
'MyStroke is completed
Private Sub MyIP1_LostMouseCapture(ByVal sender As Object, ByVal e As MouseEventArgs)
MyStroke = Nothing
End Sub
'Create the mirror image of the stroke collection in MyIP1 and adding it to MyIP2
Private Sub BtMirror_Click(ByVal sender As Object, ByVal e As EventArgs)
'Iterate through the Strokes in the StrokeCollection of MyIP1
For Each stroke As Stroke In MyIP1.Strokes
Dim newcollection As StylusPointCollection = New StylusPointCollection
'Iterate through the stylus points of each stroke in MyIP1
For Each p As StylusPoint In stroke.StylusPoints
'Create the mirror image
Dim newpoint As StylusPoint = New StylusPoint
newpoint.X = (MyIP1.ActualWidth - p.X)
newpoint.Y = p.Y
newcollection.Add(newpoint)
Next
'Add the mirror image to MyIP2
Dim newStroke As Stroke = New Stroke(newcollection)
MyIP2.Strokes.Add(newStroke)
Next
End Sub
Stroke MyStroke;
//A new stroke object named MyStroke is created. MyStroke is added to the StrokeCollection of the InkPresenter named MyIP1
private void MyIP1_MouseLeftButtonDown(object sender, MouseEventArgs e)
{
MyIP1.CaptureMouse();
StylusPointCollection MyStylusPointCollection = new StylusPointCollection();
MyStylusPointCollection.Add(e.StylusDevice.GetStylusPoints(MyIP1));
MyStroke = new Stroke(MyStylusPointCollection);
MyIP1.Strokes.Add(MyStroke);
}
//StylusPoint objects are collected from the MouseEventArgs and added to MyStroke
private void MyIP1_MouseMove(object sender, MouseEventArgs e)
{
if (MyStroke != null)
MyStroke.StylusPoints.Add(e.StylusDevice.GetStylusPoints(MyIP1));
}
//MyStroke is completed
private void MyIP1_LostMouseCapture(object sender, MouseEventArgs e)
{
MyStroke = null;
}
//Create the mirror image of the stroke collection in MyIP1 and adding it to MyIP2
private void BtMirror_Click(object sender, EventArgs e)
{
//Iterate through the Strokes in the StrokeCollection of MyIP1
foreach (Stroke stroke in MyIP1.Strokes)
{
StylusPointCollection newcollection = new StylusPointCollection();
//Iterate through the stylus points of each stroke in MyIP1
foreach (StylusPoint p in stroke.StylusPoints)
{
//Create the mirror image
StylusPoint newpoint = new StylusPoint();
newpoint.X = MyIP1.ActualWidth - p.X;
newpoint.Y = p.Y;
newcollection.Add(newpoint);
}
//Add the mirror image to MyIP2
Stroke newStroke = new Stroke(newcollection);
MyIP2.Strokes.Add(newStroke);
}
}
Version Information
Windows Phone OS
Supported in: 8.1, 8.0, 7.1, 7.0
Platforms
Windows Phone