StrokeCollection.GetIncrementalLassoHitTester(Int32) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Erstellt einen IncrementalLassoHitTester, der mit einem Lassopfad (Freihand) Treffertests für die StrokeCollection durchführt.
public:
System::Windows::Ink::IncrementalLassoHitTester ^ GetIncrementalLassoHitTester(int percentageWithinLasso);
public System.Windows.Ink.IncrementalLassoHitTester GetIncrementalLassoHitTester (int percentageWithinLasso);
member this.GetIncrementalLassoHitTester : int -> System.Windows.Ink.IncrementalLassoHitTester
Public Function GetIncrementalLassoHitTester (percentageWithinLasso As Integer) As IncrementalLassoHitTester
Parameter
- percentageWithinLasso
- Int32
Der Mindestprozentsatz von jedem Stroke, der im Lasso enthalten sein muss, damit er als Treffer gilt.
Gibt zurück
Ein IncrementalLassoHitTester, der Treffertests für die StrokeCollection durchführt.
Beispiele
Im folgenden Beispiel wird veranschaulicht, wie Sie eine IncrementalLassoHitTester abrufen, die es einem Benutzer ermöglicht, Striche mit einem Lassotool auszuwählen. Informationen zum Erstellen eines Steuerelements, das es einem Benutzer ermöglicht, Freihandeingaben auszuwählen, finden Sie unter Vorgehensweise: Auswählen von Freihand aus einem benutzerdefinierten Steuerelement.
private void InitializeHitTester(StylusPointCollection collectedPoints)
{
// Deselect any selected strokes.
foreach (Stroke selectedStroke in selectedStrokes)
{
selectedStroke.DrawingAttributes.Color = inkDA.Color;
}
selectedStrokes.Clear();
if (mode == InkMode.Select)
{
// Remove the previously drawn lasso, if it exists.
if (lassoPath != null)
{
presenter.Strokes.Remove(lassoPath);
lassoPath = null;
}
selectionTester =
presenter.Strokes.GetIncrementalLassoHitTester(80);
selectionTester.SelectionChanged +=
new LassoSelectionChangedEventHandler(selectionTester_SelectionChanged);
selectionTester.AddPoints(collectedPoints);
}
}
Private Sub InitializeHitTester(ByVal collectedPoints As StylusPointCollection)
' Deselect any selected strokes.
Dim selectedStroke As Stroke
For Each selectedStroke In selectedStrokes
selectedStroke.DrawingAttributes.Color = inkDA.Color
Next selectedStroke
selectedStrokes.Clear()
If mode = InkMode.SelectMode Then
' Remove the previously drawn lasso, if it exists.
If Not (lassoPath Is Nothing) Then
presenter.Strokes.Remove(lassoPath)
lassoPath = Nothing
End If
selectionTester = presenter.Strokes.GetIncrementalLassoHitTester(80)
AddHandler selectionTester.SelectionChanged, AddressOf selectionTester_SelectionChanged
selectionTester.AddPoints(collectedPoints)
End If
End Sub
Hinweise
Die GetIncrementalLassoHitTester -Methode gibt ein IncrementalLassoHitTester zurück, bei dem ein Stroke als "treffer" betrachtet wird, wenn der Lassopfad ihn umgibt. Dies ist nützlich für die Implementierung von Features, z. B. die Möglichkeit, einen Strich mit einem Lassotool auszuwählen. Verwendet InkCanvas ein IncrementalLassoHitTester , um das Lassoauswahltool zu implementieren.