RecognitionResult.Strokes-Eigenschaft
Ruft die Strokes-Auflistung ab, die vom Erkennungsmodul zum Generieren des RecognitionResult-Objekts verwendet wurde.
Namespace: Microsoft.Ink
Assembly: Microsoft.Ink (in Microsoft.Ink.dll)
Syntax
'Declaration
Public ReadOnly Property Strokes As Strokes
'Usage
Dim instance As RecognitionResult
Dim value As Strokes
value = instance.Strokes
public Strokes Strokes { get; }
public:
property Strokes^ Strokes {
Strokes^ get ();
}
/** @property */
public Strokes get_Strokes()
public function get Strokes () : Strokes
Eigenschaftenwert
Typ: Microsoft.Ink.Strokes
Die Strokes-Auflistung, die vom Erkennungsmodul zum Generieren des RecognitionResult-Objekts verwendet wurde.
Hinweise
Standardmäßig wird das RecognitionResult-Objekt nicht an eine Strokes-Auflistung angehängt. Um einer Strokes-Auflistung Ergebnisse zuzuweisen, müssen Sie die SetResultOnStrokes-Methode des RecognitionResult-Objekts aufrufen.
Beispiele
In diesem Beispiel wird die synchrone Erkennung als Reaktion auf eine Benutzeraktion wie das Klicken auf ein Menüelement oder auf eine Schaltfläche behandelt. Zunächst wird die Strokes-Auflistung eines RecognizerContext-Objekts von der Strokes-Auflistung zugewiesen, die einem InkOverlay-Objekt zugeordnet ist, und auf die Anzahl der Striche überprüft. Wenn die Strokes-Auflistung mindestens ein Stroke-Objekt enthält, beginnt der Erkennungsprozess mit einem Aufruf der Recognize-Methode. Wenn die Erkennung erfolgreich ist und TopConfidence (sofern unterstützt) ungleich RecognitionConfidenceNiedrig (d. h. Mittel oder Hoch) ist, wird TopString durch Hinzufügen zu einem Listenfeld angezeigt.
' assign strokes collection from the collected strokes
Me.mRecognizerContext.Strokes = Me.mInkOverlay.Ink.Strokes
' check stroke count. Recognize() will throw exception if no strokes
If (Me.mRecognizerContext.Strokes.Count > 0) Then
Dim status As RecognitionStatus
' perform the recognition
Dim rResult As RecognitionResult = Me.mRecognizerContext.Recognize(status)
' see if the recognizer used supports confidence levels
Dim rSupportsConfidence As Boolean = RecognizerSupportsConfidence(mRecognizerContext.Recognizer)
' check status and TopConfidence (if supported)
If (RecognitionStatus.NoError = status And _
((rSupportsConfidence And _
rResult.TopConfidence <> RecognitionConfidence.Poor) Or _
Not rSupportsConfidence)) Then
listBoxRecognitionResults.Items.Add(rResult.TopString)
End If
End If
// assign strokes collection from the collected strokes
this.mRecognizerContext.Strokes = this.mInkOverlay.Ink.Strokes;
// check stroke count. Recognize() will throw exception if no strokes
if (this.mRecognizerContext.Strokes.Count > 0)
{
RecognitionStatus status;
// perform the recognition
RecognitionResult rResult = this.mRecognizerContext.Recognize(out status);
// see if the recognizer used supports confidence levels
bool rSupportsConfidence = RecognizerSupportsConfidence(mRecognizerContext.Recognizer);
// check status and TopConfidence (if supported)
if (RecognitionStatus.NoError == status &&
((rSupportsConfidence &&
rResult.TopConfidence != RecognitionConfidence.Poor) ||
!rSupportsConfidence))
{
listBoxRecognitionResults.Items.Add(rResult.TopString);
}
}
Im folgenden Beispiel wird die Hilfsmethode veranschaulicht, mit der bestimmt wird, ob der Recognizer Vertrauensebenen unterstützt.
Private Function RecognizerSupportsConfidence(ByVal pRecognizer As Recognizer) As Boolean
For Each G As Guid In pRecognizer.SupportedProperties
If G = RecognitionProperty.ConfidenceLevel Then
Return True
End If
Next
Return False
End Function
private bool RecognizerSupportsConfidence(Recognizer pRecognizer)
{
foreach (Guid G in pRecognizer.SupportedProperties)
{
if (G == RecognitionProperty.ConfidenceLevel)
{
return true;
}
}
return false;
}
Plattformen
Windows Vista
.NET Framework und .NET Compact Framework unterstützen nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Versionsinformationen
.NET Framework
Unterstützt in: 3.0