Freigeben über


InkAnalyzerBase.FindNodes-Methode (MatchesCriteriaBaseCallback, Object)

Gibt alle ContextNodeBase-Objekte zurück, die den angegebenen Kriterien entsprechen.

Namespace:  System.Windows.Ink.AnalysisCore
Assembly:  IACore (in IACore.dll)

Syntax

'Declaration
Public Function FindNodes ( _
    criteria As MatchesCriteriaBaseCallback, _
    data As Object _
) As ContextNodeBaseCollection
'Usage
Dim instance As InkAnalyzerBase
Dim criteria As MatchesCriteriaBaseCallback
Dim data As Object
Dim returnValue As ContextNodeBaseCollection

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

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.AnalysisCore.ContextNodeBaseCollection
Eine ContextNodeBaseCollection, die alle ContextNodeBase-Objekte enthält, die den angegebenen Kriterien entsprechen.

Beispiele

Im folgenden Beispiel wird die Auflistung von ContextNodeBase-Objekten in einem InkAnalyzerBase mit dem Namen theInkAnalyzerBase gesucht, die den in der MatchesCriteriaBaseCallback-Delegatfunktion LineIsLowerThan festgelegten Kriterien entspricht. Die Suche erfolgt mithilfe einer Ganzzahl, yValue.

Dim lineIsLowerThanCallback As _
    New System.Windows.Ink.AnalysisCore.MatchesCriteriaBaseCallback(AddressOf LineIsLowerThan)
Dim nodesBelowYValue As ContextNodeBaseCollection = _
    theInkAnalyzerBase.FindNodes(lineIsLowerThanCallback, yValue)
System.Windows.Ink.AnalysisCore.MatchesCriteriaBaseCallback
    lineIsLowerThanCallback = new System.Windows.Ink.AnalysisCore.MatchesCriteriaBaseCallback(LineIsLowerThan);
ContextNodeBaseCollection nodesBelowYValue =
    theInkAnalyzerBase.FindNodes(lineIsLowerThanCallback, yValue);

Im folgenden Beispiel wird die LineIsLowerThan-Methode definiert, die true zurückgibt, wenn ContextNodeBase vom Typ Line ist, und wenn der untere Rand des umgebenden Felds unter einer übergebenen Ganzzahl liegt. (Beachten Sie, dass höhere y-Koordinatenwerte auf dem Bildschirm niedriger angezeigt werden.) Daher enthält die nodesBelowYValue-Auflistung alle Linien mit Strichen unter dem Wert yValue.

Public Function LineIsLowerThan( _
    ByVal nodeBase As System.Windows.Ink.AnalysisCore.ContextNodeBase, _
    ByVal data As Object) As Boolean

    ' Return false if not a line
    If nodeBase.Type <> System.Windows.Ink.AnalysisCore.ContextNodeTypeBase.Line Then
        Return False
    End If
    ' Check if bottom is lower than yValue passed in
    Dim yValue As Integer = Fix(data)
    Return nodeBase.Location.GetBounds()(3) > yValue

End Function 'LineIsLowerThan
public bool LineIsLowerThan(System.Windows.Ink.AnalysisCore.ContextNodeBase nodeBase, object data)
{
    // Return false if not a line
    if (!(nodeBase.Type == System.Windows.Ink.AnalysisCore.ContextNodeTypeBase.Line))
        return false;

    // Check if bottom is lower than yValue passed in
    int yValue = (int)data;
    return (nodeBase.Location.GetBounds()[3] > yValue);

}

Plattformen

Windows Vista, Windows XP SP2, Windows Server 2003

.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

InkAnalyzerBase-Klasse

InkAnalyzerBase-Member

FindNodes-Überladung

System.Windows.Ink.AnalysisCore-Namespace