Compartir a través de


InkAnalyzerBase.FindNodes (Método) (MatchesCriteriaBaseCallback, Object, ContextNodeBase)

Actualización: noviembre 2007

Devuelve los objetos ContextNode que son descendientes del objeto ContextNode especificado y que coinciden con los criterios especificados.

Espacio de nombres:  System.Windows.Ink.AnalysisCore
Ensamblado:  IACore (en IACore.dll)

Sintaxis

'Declaración
Public Function FindNodes ( _
    criteria As MatchesCriteriaBaseCallback, _
    data As Object, _
    nodeToSearch As ContextNodeBase _
) As ContextNodeBaseCollection
'Uso
Dim instance As InkAnalyzerBase
Dim criteria As MatchesCriteriaBaseCallback
Dim data As Object
Dim nodeToSearch As ContextNodeBase
Dim returnValue As ContextNodeBaseCollection

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

Parámetros

  • data
    Tipo: System.Object
    Datos adicionales opcionales que se pueden pasar en la función delegada. Este método pasa estos datos al delegado con cada llamada y no los modifica ni examina.

Valor devuelto

Tipo: System.Windows.Ink.AnalysisCore.ContextNodeBaseCollection
Objeto ContextNodeBaseCollection que contiene todos los objetos ContextNodeBase que coinciden con los criterios especificados.

Ejemplos

En el ejemplo siguiente se busca la colección de objetos ContextNodeBase de un objeto InkAnalyzerBase, theInkAnalyzer, que satisface los criterios especificados en el delegado LineIsLowerThan. El entero de 32 bits con signo, yValue, se pasa al delegado LineIsLowerThan. La búsqueda se restringe a los descendientes del objeto ContextNodeBase, writingRegion.

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

En el ejemplo siguiente, se define el método LineIsLowerThan, que devuelve true si ContextNodeBase es un objeto Line y si la parte inferior del cuadro de límite es inferior al entero que se pasa. (Recuerde que los valores más altos de la coordenada Y aparecen más bajos en la pantalla.) Por tanto, la colección nodesBelowYValue contiene todas las líneas cuyos trazos están por debajo del valor 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);

}

Plataformas

Windows Vista, Windows XP SP2, Windows Server 2003

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Información de versión

.NET Framework

Compatible con: 3.0

Vea también

Referencia

InkAnalyzerBase (Clase)

InkAnalyzerBase (Miembros)

FindNodes (Sobrecarga)

System.Windows.Ink.AnalysisCore (Espacio de nombres)