InkAnalyzer.FindNodes-Methode (MatchesCriteriaCallback, Object)
Gibt eine ContextNodeCollection mit allen ContextNode-Objekten zurück, die den angegebenen Kriterien entsprechen.
Namespace: System.Windows.Ink
Assembly: IAWinFX (in IAWinFX.dll)
Syntax
'Declaration
Public Function FindNodes ( _
criteria As MatchesCriteriaCallback, _
data As Object _
) As ContextNodeCollection
'Usage
Dim instance As InkAnalyzer
Dim criteria As MatchesCriteriaCallback
Dim data As Object
Dim returnValue As ContextNodeCollection
returnValue = instance.FindNodes(criteria, _
data)
public ContextNodeCollection FindNodes(
MatchesCriteriaCallback criteria,
Object data
)
public:
ContextNodeCollection^ FindNodes(
MatchesCriteriaCallback^ criteria,
Object^ data
)
public ContextNodeCollection FindNodes(
MatchesCriteriaCallback criteria,
Object data
)
public function FindNodes(
criteria : MatchesCriteriaCallback,
data : Object
) : ContextNodeCollection
Parameter
- criteria
Typ: System.Windows.Ink.MatchesCriteriaCallback
Eine Delegatfunktion, mit der ermittelt wird, ob ein ContextNode-Objekt den angegebene Kriterien entspricht oder nicht.
- 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.ContextNodeCollection
Eine ContextNodeCollection, die alle ContextNode-Objekte enthält, die den angegebenen Kriterien entsprechen.
Beispiele
Im folgenden Beispiel wird im InkAnalyzer namens theInkAnalyzer eine Auflistung der Kontextknoten ermittelt, die den im LineIsLowerThan-Delegat angegebenen Kriterien entsprechen. Die 32-Bit-Ganzzahl mit Vorzeichen yValue wird an den LineIsLowerThan-Delegaten übergeben.
Dim lineIsLowerThanCallback As New MatchesCriteriaCallback(AddressOf LineIsLowerThan)
Dim nodesBelowYValue As ContextNodeCollection = theInkAnalyzer.FindNodes(lineIsLowerThanCallback, yValue)
MatchesCriteriaCallback
lineIsLowerThanCallback = new MatchesCriteriaCallback(LineIsLowerThan);
ContextNodeCollection nodesBelowYValue =
theInkAnalyzer.FindNodes(lineIsLowerThanCallback, yValue);
Im folgenden Beispiel wird die LineIsLowerThan-Methode definiert, die true zurückgibt, wenn der ContextNode ein LineNode ist und der untere Rand des umgebenden Felds niedriger ist als die Ganzzahl, die an die Methode übergeben wird. (Beachten Sie, dass Koordinaten in Beziehung zur oberen linken Ecke des Fensters angegeben werden, d. h. je weiter Sie sich nach unten bewegen, desto höher wird der Wert der y-Koordinate). Daher enthält die nodesBelowYValue-Auflistung alle Linien mit Strichen unter dem Wert 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);
}
Plattformen
Windows Vista
.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