StrokeCollection.GetIncrementalLassoHitTester(Int32) Methode

Definition

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.

Gilt für: