MatchesCriteriaBaseCallback 委托
表示用于评估 ContextNodeBase 对象是否满足指定条件的函数。
命名空间: System.Windows.Ink.AnalysisCore
程序集: IACore(在 IACore.dll 中)
语法
声明
Public Delegate Function MatchesCriteriaBaseCallback ( _
visitingNode As ContextNodeBase, _
data As Object _
) As Boolean
用法
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 不支持委托。
参数
- visitingNode
类型:System.Windows.Ink.AnalysisCore.ContextNodeBase
要根据条件检查的 ContextNodeBase 对象。
- data
类型:System.Object
可用于条件的可选数据。
返回值
类型:System.Boolean
一个布尔值,指示 visitingNode 对象是否满足条件。
示例
下面的示例在 InkAnalyzerBase (theInkAnalyzerBase) 中查找满足特定条件的 ContextNodeBase 对象的集合,该条件是通过使用整数 yValue 在 MatchesCriteriaBaseCallback 委托函数 LineIsLowerThan 中指定的。
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);
如果 ContextNodeBase 的类型为 Line 且边界框的底部低于传入的整数所指示的位置,则 LineIsLowerThan 返回 true。(请记住 y 值越高,在屏幕上显示的位置越低。)因此,nodesBelowYValue 集合包含笔画位于 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);
}
平台
Windows Vista, Windows XP SP2, Windows Server 2003
.NET Framework 和 .NET Compact Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。
版本信息
.NET Framework
受以下版本支持:3.0