Freigeben über


MatchesCriteriaBaseCallback-Delegat

Stellt eine Funktion dar, mit der ausgewertet wird, ob ein ContextNodeBase-Objekt den angegebene Kriterien entspricht oder nicht entspricht.

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

Syntax

'Declaration
Public Delegate Function MatchesCriteriaBaseCallback ( _
    visitingNode As ContextNodeBase, _
    data As Object _
) As Boolean
'Usage
Dim instance As New MatchesCriteriaBaseCallback(AddressOf HandlerMethod)
public delegate bool MatchesCriteriaBaseCallback(
    ContextNodeBase visitingNode,
    Object data
)
public delegate bool MatchesCriteriaBaseCallback(
    ContextNodeBase^ visitingNode, 
    Object^ data
)
/** @delegate */
public delegate boolean MatchesCriteriaBaseCallback(
    ContextNodeBase visitingNode,
    Object data
)
JScript unterstützt keine Delegaten.

Parameter

  • data
    Typ: System.Object
    Optionale Daten, die für das Kriterium verwendet werden können.

Rückgabewert

Typ: System.Boolean
Ein boolescher Wert, der angibt, ob das visitingNode-Objekt den Kriterien entspricht.

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

LineIsLowerThan gibt einen Wert true zurück, wenn ContextNodeBase vom Typ Line ist, und wenn der Wert für die untere Seite des umgebenden Rechtecks niedriger als eine übergebene ganze Zahl ist. (Beachten Sie, dass höhere y-Werte auf dem Bildschirm kleiner 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

System.Windows.Ink.AnalysisCore-Namespace

InkAnalyzer.FindNodes