Freigeben über


InkAnalyzer.FindNodes-Methode (MatchesCriteriaCallback, Object)

Gibt eine ContextNodeCollection mit allen ContextNode-Objekten zurück, die den angegebenen Kriterien entsprechen.

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

Syntax

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

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

Parameter

  • data
    Typ: System.Object
    Optionale zusätzliche Daten, die an die Delegatfunktion übergeben werden können. Diese Methode übergibt bei jedem Aufruf diese Daten an den Delegaten, ohne sie zu ändern oder zu überprüfen.

Rückgabewert

Typ: System.Windows.Ink.ContextNodeCollection
Eine ContextNodeCollection, die alle ContextNode-Objekte enthält, die den angegebenen Kriterien entsprechen.

Beispiele

Im folgenden Beispiel wird im InkAnalyzer namens theInkAnalyzer eine Auflistung der Kontextknoten ermittelt, die den im LineIsLowerThan-Delegat angegebenen Kriterien entsprechen. Die 32-Bit-Ganzzahl mit Vorzeichen yValue wird an den LineIsLowerThan-Delegaten übergeben.

Dim lineIsLowerThanCallback As New MatchesCriteriaCallback(AddressOf LineIsLowerThan)
Dim nodesBelowYValue As ContextNodeCollection = theInkAnalyzer.FindNodes(lineIsLowerThanCallback, yValue)
MatchesCriteriaCallback
    lineIsLowerThanCallback = new MatchesCriteriaCallback(LineIsLowerThan);
ContextNodeCollection nodesBelowYValue =
    theInkAnalyzer.FindNodes(lineIsLowerThanCallback, yValue);

Im folgenden Beispiel wird die LineIsLowerThan-Methode definiert, die true zurückgibt, wenn der ContextNode ein 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.FindNodesOfType