StylusPoint Struktur
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
- 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 packetOutput
gibt.
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 |
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. |