Freigeben über


InkAnalyzer.FindNodes-Methode (MatchesCriteriaCallback, Object, ContextNode)

Gibt eine ContextNodeCollection mit allen ContextNode-Objekten zurück, die Nachfolger des angegebenen ContextNode sind und die angegebenen Kriterien erfüllen.

Namespace:  System.Windows.Ink
Assembly:  IAWinFX (in IAWinFX.dll)

Syntax

'Declaration
Public Function FindNodes ( _
    criteria As MatchesCriteriaCallback, _
    data As Object, _
    nodeToSearch As ContextNode _
) As ContextNodeCollection
'Usage
Dim instance As InkAnalyzer
Dim criteria As MatchesCriteriaCallback
Dim data As Object
Dim nodeToSearch As ContextNode
Dim returnValue As ContextNodeCollection

returnValue = instance.FindNodes(criteria, _
    data, nodeToSearch)
public ContextNodeCollection FindNodes(
    MatchesCriteriaCallback criteria,
    Object data,
    ContextNode nodeToSearch
)
public:
ContextNodeCollection^ FindNodes(
    MatchesCriteriaCallback^ criteria, 
    Object^ data, 
    ContextNode^ nodeToSearch
)
public ContextNodeCollection FindNodes(
    MatchesCriteriaCallback criteria,
    Object data,
    ContextNode nodeToSearch
)
public function FindNodes(
    criteria : MatchesCriteriaCallback, 
    data : Object, 
    nodeToSearch : ContextNode
) : ContextNodeCollection

Parameter

Rückgabewert

Typ: System.Windows.Ink.ContextNodeCollection
Eine ContextNodeCollection mit allen ContextNode-Objekten, die Nachfolger des angegebenen Knotens sind und die angegebenen Kriterien erfüllen.

Beispiele

Im folgenden Beispiel wird die Auflistung von ContextNode-Objekten in einem InkAnalyzer namens theInkAnalyzer ermittelt, die den im LineIsLowerThan-Delegaten angegebenen Kriterien entsprechen. Die 32-Bit-Ganzzahl mit Vorzeichen yValue wird an den LineIsLowerThan-Delegaten übergeben. Die Suche wird auf die Nachfolger des WritingRegionNode mit dem Namen writingRegion beschränkt.

Dim isLineLowerThanCallback As New MatchesCriteriaCallback(AddressOf LineIsLowerThan)
Dim nodesInRegionBelowYValue As ContextNodeCollection = _
    theInkAnalyzer.FindNodes(isLineLowerThanCallback, yValue, writingRegion)
MatchesCriteriaCallback
    isLineLowerThanCallback = new MatchesCriteriaCallback(LineIsLowerThan);
ContextNodeCollection nodesInRegionBelowYValue =
    theInkAnalyzer.FindNodes(isLineLowerThanCallback, yValue, writingRegion);

Im folgenden Beispiel wird die LineIsLowerThan-Methode definiert, die true zurückgibt, wenn der ContextNode ein [T:System.Windows.Ink.LineNode,] ist und der untere Rand des umgebenden Felds niedriger ist als die Ganzzahl, die an die Methode übergeben wird. (Beachten Sie, dass Koordinaten in Beziehung zur oberen linken Ecke des Fensters angegeben werden, d. h. je weiter Sie sich nach unten bewegen, desto höher wird der Wert der y-Koordinate). Daher enthält die nodesBelowYValue-Auflistung alle Linien mit Strichen unter dem Wert yValue.

Public Function LineIsLowerThan(ByVal node As ContextNode, ByVal data As Object) As Boolean 
    ' Return false if not a line
    If Not TypeOf node Is LineNode Then
        Return False
    End If 
    ' Check if bottom is lower than yValue passed in
    Dim yValue As Double = System.Convert.ToDouble(data)
    Return node.Location.GetBounds().Bottom > yValue

End Function 'LineIsLowerThan
public bool LineIsLowerThan(ContextNode node, object data)
{
    // Return false if not a line
    if (!(node is LineNode))
        return false;

    // Check if bottom is lower than yValue passed in
    double yValue = (double)data;
    return (node.Location.GetBounds().Bottom > yValue);
}

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

InkAnalyzer-Klasse

InkAnalyzer-Member

FindNodes-Überladung

System.Windows.Ink-Namespace

InkAnalyzer.FindInkLeafNodes

InkAnalyzer.FindLeafNodes

InkAnalyzer.FindNode

InkAnalyzer.FindNodes

InkAnalyzer.FindNodesOfType