StrokeCollection.GetIncrementalLassoHitTester(Int32) Metod

Definition

Skapar en IncrementalLassoHitTester som träffar testar StrokeCollection med en lassosökväg (frihand).

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

Parametrar

percentageWithinLasso
Int32

Den minsta procentandelen av varje Stroke som måste finnas i lasso för att den ska betraktas som träffad.

Returer

En IncrementalLassoHitTester träff testar StrokeCollection.

Exempel

I följande exempel visas hur du hämtar en IncrementalLassoHitTester som gör det möjligt för en användare att välja linjer med ett lassoverktyg. Information om hur du skapar en kontroll som gör att en användare kan välja pennanteckning finns i Så här väljer du pennanteckning från en anpassad kontroll.

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

Kommentarer

Metoden GetIncrementalLassoHitTester returnerar en IncrementalLassoHitTester som betraktar en Stroke som "träff" när lasso-sökvägen omger den. Detta är användbart för att implementera funktioner, till exempel möjligheten att välja en linje med ett lassoverktyg. InkCanvas Använder en IncrementalLassoHitTester för att implementera lasso-markeringsverktyget.

Gäller för