Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die gesamte Erkennung für freihandfähige Steuerelemente erfolgt über ein RecognizerContext-Objekt . Mit den Tablet PC-Technologie-APIs können Sie die Factoid-Eigenschaft für ein RecognizerContext-Objekt festlegen.
Wenn Sie eine Freihandanwendung erstellen, verwenden Sie die Factoid- und WordList-Eigenschaften des RecognizerContext-Objekts, um Kontexte festzulegen.
Sie können die Zeichenfolgenwerte der Namen in den in der InputScope-Enumeration definierten Eingabebereichen an die Factoid-Eigenschaft übergeben, die mit einem öffnenden (! und einem schließenden ) getrennt sind. Um beispielsweise den Kontext für ein RecognizerContext-Objekt auf Zeichen festzulegen, die in einer URL verwendet werden, verwenden Sie die Syntax, die in den folgenden C#-Beispielen gezeigt wird:
theRecoContext.Factoid = "(!IS_URL)";
Hinweis
Die in der InputScope-Enumeration definierten Eingabebereiche ersetzen die Factoids, die in früheren Versionen des Windows XP Tablet PC Edition SDK verfügbar waren, obwohl diese Factoids weiterhin funktionieren, um Abwärtskompatibilität zu gewährleisten.
Im folgenden C#-Beispiel wird die Factoid-Eigenschaft für Postleitzahlen festgelegt:
theRecognizerContext.Factoid = "(!IS_ADDRESS_POSTALCODE)";
Sie können Eingabebereiche kombinieren, indem Sie die Syntax für handschriftliche reguläre Ausdrücke verwenden. Weitere Informationen zur Verwendung der Syntax regulärer Ausdrücke finden Sie unter Benutzerdefinierte Eingabebereiche mit regulären Ausdrücken.
Sie können Erkennungsflags für das RecognizerContext-Objekt festlegen, um das Verhalten der Erkennung zu beeinflussen. Ein solches Flag ist das Coerce-Flag in der InkRecognitionModes-Enumeration des RecognizerContext. Das Coerce-Flag zwingt die Erkennung, ein Ergebnis zurückzugeben, das der Definition des festgelegten Factoids entspricht. Wenn Sie beispielsweise über ein Formular verfügen, für das der Benutzer eine numerische Menge eingeben muss, kann es nützlich sein, das IS_NUMBER Factoid festzulegen und auch die RecognitionFlags-Eigenschaft auf Coerce festzulegen. In diesem instance garantiert das Coerce-Flag, dass die Erkennung nur Zahlen zurückgibt.
Im folgenden C#-Beispiel wird die RecognitionFlags-Eigenschaft auf Coerce festgelegt:
theRecognizerContext.RecognitionFlags = RecognitionModes.Coerce;
Gehen Sie jedoch vorsichtig vor, wenn Sie das Coerce-Flag festlegen. Das Flag zwingt die Erkennung, nur der Definition des Factoids zu entsprechen. Wenn Sie beispielsweise den IS_TELEPHONE_FULLTELEPHONENUMBER Eingabebereich und das Coerce-Flag festlegen, gibt die Erkennung Ergebnisse zurück, die genau der Definition des IS_TELEPHONE_FULLTELEPHONENUMBER Eingabebereichs entsprechen. Wenn ein Benutzer "911" schreibt, wobei der IS_TELEPHONE_FULLTELEPHONENUMBER Eingabebereich und das Coerce-Flag festgelegt ist, kann die Erkennung entweder eine leere Zeichenfolge oder eine zufällige Zeichenfolge im Format (XXX) XXX-XXXX (wobei X eine Ziffer ist) zurückgeben. Das Format von XXX stimmt nicht mit der Definition des IS_TELEPHONE_FULLTELEPHONENUMBER Factoid überein, obwohl es sich um eine gültige Telefonnummer handelt.
Listen der unterstützten Formate für jeden Eingabebereich finden Sie in der InputScope-Referenz .
Um ein Feld auf die Standardeinstellung für die Erkennung zurückzugeben, legen Sie das Factoid wie im folgenden C#-Beispiel auf IS_DEFAULT fest:
theRecgonizerContext.Factoid = "(!IS_DEFAULT)";
Legen Sie für Anwendungen, die das InkEdit-Steuerelement verwenden, den Factoidtyp für das Steuerelement fest, indem Sie Folgendes angeben:
InkEdit1.Factoid = "(!IS_INPUTSCOPE)"
Wobei IS_INPUTSCOPE der Name des Eingabebereichs ist, den Sie anwenden möchten.
Das InkEdit-Steuerelement macht kein RecognizerContext-Objekt verfügbar. Sie können weiterhin Kontext zuweisen, indem Sie die Factoid-Eigenschaft des InkEdit-Steuerelements verwenden, aber sie können das WORDMODE-Flag nicht festlegen.