WritingRegionNode.GetTextRangeFromNodes-Methode
Wenn eine Auflistung von ContextNode-Objekten zur Verfügung steht, findet die Methode den entsprechenden Textbereich in der erkannten Zeichenfolge.
Namespace: System.Windows.Ink
Assembly: IAWinFX (in IAWinFX.dll)
Syntax
'Declaration
Public Sub GetTextRangeFromNodes ( _
subTree As ContextNodeCollection, _
<OutAttribute> ByRef start As Integer, _
<OutAttribute> ByRef length As Integer _
)
'Usage
Dim instance As WritingRegionNode
Dim subTree As ContextNodeCollection
Dim start As Integer
Dim length As Integer
instance.GetTextRangeFromNodes(subTree, _
start, length)
public void GetTextRangeFromNodes(
ContextNodeCollection subTree,
out int start,
out int length
)
public:
void GetTextRangeFromNodes(
ContextNodeCollection^ subTree,
[OutAttribute] int% start,
[OutAttribute] int% length
)
public void GetTextRangeFromNodes(
ContextNodeCollection subTree,
/** @attribute OutAttribute */ /** @ref */int start,
/** @attribute OutAttribute */ /** @ref */int length
)
public function GetTextRangeFromNodes(
subTree : ContextNodeCollection,
start : int,
length : int
)
Parameter
- subTree
Typ: System.Windows.Ink.ContextNodeCollection
Die Auflistung von ContextNode-Objekten, die Nachfolger vonWritingRegionNode sind.
- start
Typ: System.Int32%
Der Anfang des Textbereichs.
- length
Typ: System.Int32%
Die Länge des Textbereichs.
Hinweise
Wenn der subTree einen ContextNode enthält, der nicht Nachfolger des InkWritingNode ist, wird eine ArgumentException ausgelöst.
Wenn der subTreeContextNode-Objekte enthält, die nicht aufeinander folgen, wird der kleinste Textbereich, der alle ContextNode-Objekte abdeckt, zurückgegeben.
Beispiele
Im folgenden Beispiel wird der letzte Absatz mit dem Namen writingRegion in einem WritingRegionNode gesucht. Dann findet es den Textbereich, der diesem Absatz entspricht, fügt den Wert von GetRecognizedString in eine TextBox mit dem Namen selectedResultsTextBox ein und markiert den Text, der dem letzten Absatz entspricht.
Dim paragraphs As ContextNodeCollection = theInkAnalyzer.FindNodesOfType(ContextNodeType.Paragraph)
Dim lastParagraph As ParagraphNode = Nothing
Dim maxY As Double = Double.MinValue
Dim paragraph As ParagraphNode
For Each paragraph In paragraphs
If paragraph.Location.GetBounds().Bottom > maxY Then
maxY = paragraph.Location.GetBounds().Bottom
lastParagraph = paragraph
End If
Next paragraph
If lastParagraph Is Nothing Then
Return
End If
' Create a collection to hold this line
Dim lastParagraphCollection As New ContextNodeCollection(theInkAnalyzer)
lastParagraphCollection.Add(lastParagraph)
' Find corresponding start and length
Dim start, length As Integer
writingRegion.GetTextRangeFromNodes(lastParagraphCollection, start, length)
' Select this in the text box
selectedResultsTextBox.Text = writingRegion.GetRecognizedString()
selectedResultsTextBox.Select(start, length)
ContextNodeCollection paragraphs =
theInkAnalyzer.FindNodesOfType(ContextNodeType.Paragraph);
ParagraphNode lastParagraph = null;
double maxY = double.MinValue;
foreach (ParagraphNode paragraph in paragraphs)
{
if (paragraph.Location.GetBounds().Bottom > maxY)
{
maxY = paragraph.Location.GetBounds().Bottom;
lastParagraph = paragraph;
}
}
if (lastParagraph == null)
return;
// Create a collection to hold this line
ContextNodeCollection lastParagraphCollection = new ContextNodeCollection(theInkAnalyzer);
lastParagraphCollection.Add(lastParagraph);
// Find corresponding start and length
int start, length;
writingRegion.GetTextRangeFromNodes(lastParagraphCollection, out start, out length);
// Select this in the text box
selectedResultsTextBox.Text = writingRegion.GetRecognizedString();
selectedResultsTextBox.Select(start, length);
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