StylusPoint Struct-datatyp

Definition

Representerar en enda datapunkt som samlas in från digitaliseraren och pennan.

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)
Arv
StylusPoint
Implementeringar

Exempel

I följande exempel hämtas egenskapsnamn och värden för var StylusPoint och en i en StylusPointCollection. Det här exemplet förutsätter att det finns ett TextBlock som heter packetOutput.

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

Kommentarer

A StylusPoint samlar in data när en användare matar in pennanteckning med hjälp av digitaliseraren. Eftersom informationen som en digitaliserare rapporterar skiljer sig åt beroende på tillverkaren kan egenskaperna inom en StylusPoint variera. Om du vill avgöra om en egenskap finns i StylusPointanropar HasProperty du metoden. Egenskapen Description innehåller en StylusPointDescription som anger vilka egenskaper som finns i StylusPoint. Alla StylusPoint objekt innehåller egenskaper som anger koordinaterna (x, y) samt trycket.

Konstruktorer

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

Initierar en ny instans av StylusPoint klassen med angivna (x, y) koordinater, en pressureFactoroch ytterligare parametrar som anges i StylusPointDescription.

StylusPoint(Double, Double, Single)

Initierar en ny instans av StylusPoint klassen med angivna koordinater (x, y) och tryck.

StylusPoint(Double, Double)

Initierar en ny instans av StylusPoint klassen med angivna koordinater (x, y).

Fält

Name Description
MaxXY

Anger det största giltiga värdet för ett par koordinater (x, y).

MinXY

Anger det minsta giltiga värdet för ett par koordinater (x, y).

Egenskaper

Name Description
Description

Hämtar eller anger StylusPointDescription som anger egenskaperna som lagras i StylusPoint.

PressureFactor

Hämtar eller anger ett värde mellan 0 och 1 som återspeglar mängden tryck som pennan tillämpar på digitaliserarens yta när den StylusPoint skapas.

X

Hämtar eller anger värdet för x-koordinaten för StylusPoint.

Y

Hämtar eller anger y-koordinaten för StylusPoint.

Metoder

Name Description
Equals(Object)

Returnerar ett värde som anger om det angivna objektet är lika StylusPointmed .

Equals(StylusPoint, StylusPoint)

Returnerar ett booleskt värde som anger om de två angivna StylusPoint objekten är lika med.

Equals(StylusPoint)

Returnerar ett booleskt värde som anger om den angivna StylusPoint är lika med den aktuella StylusPoint.

GetHashCode()

Returnerar hash-koden för den här instansen.

GetPropertyValue(StylusPointProperty)

Returnerar värdet för den angivna egenskapen.

HasProperty(StylusPointProperty)

Returnerar om aktuell innehåller StylusPoint den angivna egenskapen.

SetPropertyValue(StylusPointProperty, Int32)

Anger den angivna egenskapen till det angivna värdet.

ToPoint()

Konverterar en StylusPoint till en Point.

Operatorer

Name Description
Equality(StylusPoint, StylusPoint)

Jämför två angivna StylusPoint objekt och avgör om de är lika.

Explicit(StylusPoint to Point)

Gjuter angivet StylusPoint till en Point.

Inequality(StylusPoint, StylusPoint)

Returnerar ett booleskt värde som anger om de angivna StylusPoint objekten är ojämlika.

Gäller för