Поделиться через


WritingRegionNode - класс

Обновлен: Ноябрь 2007

Represents a group of paragraphs with similar orientation.

Пространство имен:  Microsoft.Ink
Сборка:  Microsoft.Ink.Analysis (в Microsoft.Ink.Analysis.dll)

Синтаксис

'Декларация
Public NotInheritable Class WritingRegionNode _
    Inherits ContextNode
'Применение
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

Заметки

A writing region has a single reading order, such as top down.

Several writing regions can coexist in the same document on the same page if they have different orientations. For example, if a user writes notes that are primarily horizontal but then scribbles a few words diagonally in a corner, the diagonal words are considered to have a different orientation. A new WritingRegion is created for that diagonal text.

A WritingRegionNode object can contain the following types of child elements:

  • Any number of ParagraphNode objects.

  • Any number of nodes with an unknown Guid value.

For more information, see conceptual topic on WritingRegion and AlignmentLevel.

Примеры

The following example takes a TextBox, selectedResultsTextBox, whose Text property has previously been set to the value returned by GetRecognizedString for a WritingRegionNode, writingRegion. The user has selected some text in the TextBox. The example code marks the Strokes that corresponds to that selection.

' 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);
                        }
                    }

Иерархия наследования

System.Object
  Microsoft.Ink.ContextNode
    Microsoft.Ink.WritingRegionNode

Потокобезопасность

Любые открытые члены этого типа, объявленные как static (Shared в Visual Basic), являются потокобезопасными. Потокобезопасность членов экземпляров не гарантируется.

Платформы

Windows Vista

Среды .NET Framework и .NET Compact Framework поддерживают не все версии каждой платформы. Поддерживаемые версии перечислены в разделе Требования к системе для .NET Framework.

Сведения о версии

.NET Framework

Поддерживается в версии: 3.0

См. также

Ссылки

WritingRegionNode - члены

Microsoft.Ink - пространство имен