Freigeben über


StylusPoint Struktur

Definition

Stellt einen einzelnen Datenpunkt dar, der vom Digitizer und vom Tablettstift erfasst wurde.

public value class StylusPoint : IEquatable<System::Windows::Input::StylusPoint>
public struct StylusPoint : IEquatable<System.Windows.Input.StylusPoint>
type StylusPoint = struct
Public Structure StylusPoint
Implements IEquatable(Of StylusPoint)
Vererbung
StylusPoint
Implementiert

Beispiele

Im folgenden Beispiel werden Eigenschaftennamen und -werte für jede StylusPoint in einem StylusPointCollectionabgerufen. In diesem Beispiel wird davon ausgegangen, dass es einen TextBlock namens packetOutputgibt.

private void WriteStylusPointValues(StylusPointCollection points)
{
    StylusPointDescription pointsDescription = points.Description;

    ReadOnlyCollection<StylusPointPropertyInfo> properties = 
        pointsDescription.GetStylusPointProperties();
    
    // Write the name and value of each property in
    // every stylus point.
    StringWriter packetWriter = new StringWriter();
    packetWriter.WriteLine("{0} stylus points", points.Count.ToString());
    foreach (StylusPoint stylusPoint in points)
    {
        packetWriter.WriteLine("Stylus Point info");
        packetWriter.WriteLine("X: {0}", stylusPoint.X.ToString());
        packetWriter.WriteLine("Y: {0}", stylusPoint.Y.ToString());
        packetWriter.WriteLine("Pressure: {0}", stylusPoint.PressureFactor.ToString());

        // Get the property name and value for each StylusPoint.
        // Note that this loop reports the X, Y, and pressure values differantly than 
        // getting their values above.
        for (int i = 0; i < pointsDescription.PropertyCount; ++i)
        {
            StylusPointProperty currentProperty = properties[i];

            // GetStylusPointPropertyName is defined below and returns the
            // name of the property.
            packetWriter.Write("{0}: ", GetStylusPointPropertyName(currentProperty));
            packetWriter.WriteLine(stylusPoint.GetPropertyValue(currentProperty).ToString());
        }
        packetWriter.WriteLine();
    }

    packetOutput.Text = packetWriter.ToString();
}
Private Sub WriteStylusPointValues(ByVal points As StylusPointCollection) 
    Dim pointsDescription As StylusPointDescription = points.Description
    
    Dim properties As ReadOnlyCollection(Of StylusPointPropertyInfo) = _
                            pointsDescription.GetStylusPointProperties()
    
    ' Write the name and value of each property in
    ' every stylus point.
    Dim packetWriter As New StringWriter()

    packetWriter.WriteLine("{0} stylus points", points.Count.ToString())

    For Each stylusPoint As StylusPoint In points

        packetWriter.WriteLine("Stylus Point info")
        packetWriter.WriteLine("X: {0}", stylusPoint.X.ToString())
        packetWriter.WriteLine("Y: {0}", stylusPoint.Y.ToString())
        packetWriter.WriteLine("Pressure: {0}", stylusPoint.PressureFactor.ToString())

        ' Get the property name and value for each StylusPoint.
        ' Note that this loop reports the X, Y, and pressure values differantly than 
        ' getting their values above.
        For i As Integer = 0 To pointsDescription.PropertyCount - 1

            Dim currentProperty As StylusPointProperty = properties(i)

            ' GetStylusPointPropertyName is defined below and returns the
            ' name of the property.
            packetWriter.Write("{0}: ", GetStylusPointPropertyName(currentProperty))
            packetWriter.WriteLine(stylusPoint.GetPropertyValue(currentProperty).ToString())
        Next i

        packetWriter.WriteLine()

    Next stylusPoint

    packetOutput.Text = packetWriter.ToString()

End Sub
// Use reflection to get the name of currentProperty.
private string GetStylusPointPropertyName(StylusPointProperty currentProperty)
{
    Guid guid = currentProperty.Id;

    // Iterate through the StylusPointProperties to find the StylusPointProperty
    // that matches currentProperty, then return the name.
    foreach (FieldInfo theFieldInfo
        in typeof(StylusPointProperties).GetFields())
    {
        StylusPointProperty property = (StylusPointProperty) theFieldInfo.GetValue(currentProperty);
        if (property.Id == guid)
        {
            return theFieldInfo.Name;
        }
    }
    return "Not found";
}
' Use reflection to get the name of currentProperty.
Private Function GetStylusPointPropertyName(ByVal currentProperty As StylusPointProperty) As String 
    Dim guid As Guid = currentProperty.Id
    
    ' Iterate through the StylusPointProperties to find the StylusPointProperty
    ' that matches currentProperty, then return the name.
    Dim theFieldInfo As FieldInfo

    For Each theFieldInfo In GetType(StylusPointProperties).GetFields()

        Dim pointProperty As StylusPointProperty = _
            CType(theFieldInfo.GetValue(currentProperty), StylusPointProperty)

        If pointProperty.Id = guid Then
            Return theFieldInfo.Name
        End If

    Next theFieldInfo

    Return "Not found"

End Function 'GetStylusPointPropertyName

Hinweise

Ein StylusPoint sammelt Daten, wenn ein Benutzer mithilfe des Digitizers Freihandeingaben einhebt. Da die Informationen, die ein Digitizer meldet, je nach Hersteller unterschiedlich sind, können die Eigenschaften innerhalb eines StylusPoint variieren. Rufen Sie die HasProperty -Methode auf, um zu bestimmen, ob sich eine Eigenschaft in der StylusPointbefindet. Die Description -Eigenschaft enthält eine StylusPointDescription , die angibt, welche Eigenschaften in der StylusPointenthalten sind. Alle StylusPoint -Objekte enthalten Eigenschaften, die die Koordinaten (x, y) sowie den Druck angeben.

Konstruktoren

StylusPoint(Double, Double)

Initialisiert eine neue Instanz der StylusPoint-Klasse unter Verwendung der angegebenen (X, Y)-Koordinaten.

StylusPoint(Double, Double, Single)

Initialisiert eine neue Instanz der StylusPoint-Klasse mit den angegebenen (x, y)-Koordinaten und dem Druck.

StylusPoint(Double, Double, Single, StylusPointDescription, Int32[])

Initialisiert eine neue Instanz der StylusPoint-Klasse mit den angegebenen (X, Y)-Koordinaten, einem pressureFactor und zusätzlichen, in der StylusPointDescription angegebenen Parametern.

Felder

MaxXY

Gibt den größten gültigen Wert für ein (x, y)-Koordinatenpaar an.

MinXY

Gibt den kleinsten gültigen Wert für ein (x, y)-Koordinatenpaar an.

Eigenschaften

Description

Ruft die StylusPointDescription ab, die die im StylusPoint gespeicherten Eigenschaften angibt, oder legt diese fest.

PressureFactor

Ruft einen Wert zwischen 0 und 1 ab, der den Druck widerspiegelt, den der Tablettstift bei Erstellung des StylusPoint auf die Oberfläche des Digitizers anwendet, oder legt diesen Wert fest.

X

Ruft den Wert der x-Koordinate des StylusPoint ab oder legt diesen fest.

Y

Ruft die y-Koordinate des StylusPoint ab oder legt diese fest.

Methoden

Equals(Object)

Gibt einen Wert zurück, der angibt, ob das angegebene Objekt gleich dem StylusPoint ist.

Equals(StylusPoint)

Gibt einen booleschen Wert zurück, der angibt, ob der angegebene StylusPoint gleich dem aktuellen StylusPoint ist.

Equals(StylusPoint, StylusPoint)

Gibt einen booleschen Wert zurück, der angibt, ob die zwei angegebenen StylusPoint-Objekte gleich sind.

GetHashCode()

Gibt den Hashcode für diese Instanz zurück.

GetPropertyValue(StylusPointProperty)

Gibt den Wert der angegebenen Eigenschaft zurück.

HasProperty(StylusPointProperty)

Gibt zurück, ob der aktuelle StylusPoint die angegebene Eigenschaft enthält.

SetPropertyValue(StylusPointProperty, Int32)

Legt die angegebene Eigenschaft auf den angegebenen Wert fest.

ToPoint()

Konvertiert ein StylusPoint -Element in ein Point-Element.

Operatoren

Equality(StylusPoint, StylusPoint)

Vergleicht zwei angegebene StylusPoint-Objekte und ermittelt, ob diese gleich sind.

Explicit(StylusPoint to Point)

Wandelt den angegebenen StylusPoint in einen Point um.

Inequality(StylusPoint, StylusPoint)

Gibt einen booleschen Wert zurück, der angibt, ob die angegebenen StylusPoint-Objekte ungleich sind.

Gilt für: