Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
GetStylusPoints Method
Collapse the table of content
Expand the table of content

StylusDevice.GetStylusPoints Method

Silverlight

Returns the stylus points collected since the last mouse event.

Namespace:  System.Windows.Input
Assembly:  System.Windows (in System.Windows.dll)

public StylusPointCollection GetStylusPoints(
	UIElement relativeTo
)

Parameters

relativeTo
Type: System.Windows.UIElement
Specifies the offset for the object (typically an InkPresenter) that should be applied to captured points.

Return Value

Type: System.Windows.Input.StylusPointCollection
A collection of the stylus points collected since the last mouse event.

The coordinates of the returned StylusPointCollection points are relative to the InkPresenter or other UIElement that is passed into this method.

If the active device is a mouse (DeviceType returns TabletDeviceType.Mouse), the returned StylusPointCollection contains a single point that corresponds to the mouse event.

The following code snippet iterates through stylus points of the strokes drawn in the first InkPresenter control to display its mirror image in the second InkPresenter control.


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);
    }
}


Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.

Community Additions

ADD
Show:
© 2015 Microsoft