InkAnalyzer.FindNodes 方法 (MatchesCriteriaCallback, Object, ContextNode)

返回一个 ContextNodeCollection,其中包含作为指定 ContextNode 的后代且满足指定条件的 ContextNode 对象。

命名空间:  System.Windows.Ink
程序集:  IAWinFX(在 IAWinFX.dll 中)

语法

声明
Public Function FindNodes ( _
    criteria As MatchesCriteriaCallback, _
    data As Object, _
    nodeToSearch As ContextNode _
) As ContextNodeCollection
用法
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

参数

返回值

类型:System.Windows.Ink.ContextNodeCollection
一个 ContextNodeCollection,其中包含作为指定节点的后代且符合指定条件的所有 ContextNode 对象。

示例

下面的示例在名为 theInkAnalyzer 的 InkAnalyzer 中查找符合 LineIsLowerThan 委托中所指定的条件的 ContextNode 对象的集合。一个 32 位有符号整数 yValue 将传递给 LineIsLowerThan 委托。搜索范围限制为名为 writingRegion 的 WritingRegionNode 的后代。

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

下面的示例定义 LineIsLowerThan 方法;如果 ContextNode 为 [T:System.Windows.Ink.LineNode,] 且边界框的底部低于传入的整数所指示的位置,则该方法返回 true。(请注意,所表示的坐标相对于窗口的左上角:位置越低,y 坐标就越高)。因此,nodesBelowYValue 集合包含笔画位于 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);
}

平台

Windows Vista

.NET Framework 和 .NET Compact Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求

版本信息

.NET Framework

受以下版本支持:3.0

另请参见

参考

InkAnalyzer 类

InkAnalyzer 成员

FindNodes 重载

System.Windows.Ink 命名空间

InkAnalyzer.FindInkLeafNodes

InkAnalyzer.FindLeafNodes

InkAnalyzer.FindNode

InkAnalyzer.FindNodes

InkAnalyzer.FindNodesOfType