WritingRegionNode-Klasse
Stellt eine Gruppe von Absätzen mit ähnlicher Ausrichtung dar.
Namespace: Microsoft.Ink
Assembly: Microsoft.Ink.Analysis (in Microsoft.Ink.Analysis.dll)
Syntax
'Declaration
Public NotInheritable Class WritingRegionNode _
Inherits ContextNode
'Usage
Dim instance As WritingRegionNode
public sealed class WritingRegionNode : ContextNode
public ref class WritingRegionNode sealed : public ContextNode
public final class WritingRegionNode extends ContextNode
public final class WritingRegionNode extends ContextNode
Hinweise
Ein Schreibbereich weist eine einzige Leserichtung auf, z. B. von oben nach unten.
In einem Dokument können auf einer Seite mehrere Schreibbereiche nebeneinander vorhanden sein, wenn sie eine unterschiedliche Ausrichtung aufweisen. Wenn ein Benutzer beispielsweise Notizen schreibt, die im Wesentlichen horizontal sind, dann jedoch einige Wörter diagonal in eine Ecke kritzelt, wird für die diagonalen Wörter eine andere Ausrichtung angenommen. Ein neuer WritingRegion wird für diesen Diagonalentext erstellt.
Ein WritingRegionNode-Objekt kann die folgenden Typen von untergeordneten Elementen enthalten:
Eine beliebige Anzahl von ParagraphNode-Objekten.
Eine beliebige Anzahl von Knoten mit einem unbekannten Guid-Wert.
Weitere Informationen finden Sie unter dem Thema zu WritingRegion und AlignmentLevel.
Beispiele
Im folgenden Beispiel wird ein TextBox-Objekt namens selectedResultsTextBox, dessen Text-Eigenschaft zuvor auf den von GetRecognizedString zurückgegebenen Wert festgelegt wurde, als WritingRegionNode, writingRegion, verwendet. Der Benutzer hat Text in der TextBox ausgewählt. Im Beispielcode werden die Strokes markiert, die dieser Auswahl entsprechen.
' Find out what's been selected in the text box
Dim selectionStart As Integer = selectedResultsTextBox.SelectionStart
Dim selectionLength As Integer = selectedResultsTextBox.SelectionLength
' Return if no text is selected.
' selectionLength must be > 0 or GetNodesFromTextRange(...)
' will throw an ArgumentOutOfRangeException
If selectionLength = 0 Then
Return
End If
' Get the nodes that correspond to that range
Dim selectedRegionSubNodes As ContextNodeCollection = _
writingRegion.GetNodesFromTextRange(selectionStart, selectionLength)
' Use the new start and length value to update the
' selection in the TextBox
selectedResultsTextBox.SelectionStart = selectionStart
selectedResultsTextBox.SelectionLength = selectionLength
' First, set all strokes to black
Dim inkStroke As Stroke
For Each inkStroke In writingRegion.Strokes
inkStroke.DrawingAttributes = New DrawingAttributes(Color.Black)
Next inkStroke
' Next, set all selected sub nodes to red
Dim node As ContextNode
For Each node In selectedRegionSubNodes
For Each inkStroke In node.Strokes
inkStroke.DrawingAttributes = New DrawingAttributes(Color.Red)
Next inkStroke
Next node
// Find out what's been selected in the text box
int selectionStart = selectedResultsTextBox.SelectionStart;
int selectionLength = selectedResultsTextBox.SelectionLength;
// Return if no text is selected.
// selectionLength must be > 0 or GetNodesFromTextRange(...)
// will throw an ArgumentOutOfRangeException
if (selectionLength == 0)
return;
// Get the nodes that correspond to that range
ContextNodeCollection selectedRegionSubNodes =
writingRegion.GetNodesFromTextRange(ref selectionStart, ref selectionLength);
// Use the new start and length value to update the
// selection in the TextBox
selectedResultsTextBox.SelectionStart = selectionStart;
selectedResultsTextBox.SelectionLength = selectionLength;
// First, set all strokes to black
foreach (Stroke stroke in writingRegion.Strokes)
stroke.DrawingAttributes =
new DrawingAttributes(Color.Black);
// Next, set all selected sub nodes to red
foreach (ContextNode node in selectedRegionSubNodes)
{
foreach (Stroke stroke in node.Strokes)
{
stroke.DrawingAttributes =
new DrawingAttributes(Color.Red);
}
}
Vererbungshierarchie
System.Object
Microsoft.Ink.ContextNode
Microsoft.Ink.WritingRegionNode
Threadsicherheit
Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.
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