Freigeben über


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

Siehe auch

Referenz

WritingRegionNode-Member

Microsoft.Ink-Namespace