Sdílet prostřednictvím


StrokeCollection.GetIncrementalLassoHitTester(Int32) Metoda

Definice

Vytvoří příkaz IncrementalLassoHitTester , který testuje StrokeCollection pomocí lasa (volné ruky).

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

Parametry

percentageWithinLasso
Int32

Minimální procento každého Stroke , které musí být obsaženo v lasu, aby se považovalo za zasažené.

Návraty

Chyba IncrementalLassoHitTester , která se stiskne, testuje StrokeCollection.

Příklady

Následující příklad ukazuje, jak získat objekt IncrementalLassoHitTester , který uživateli umožní vybrat tahy pomocí nástroje laso. Pokud chcete vytvořit ovládací prvek, který uživateli umožní vybrat rukopis, přečtěte si téma Postupy: Výběr rukopisu z vlastního ovládacího prvku.

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

Poznámky

Metoda GetIncrementalLassoHitTester vrátí objekt IncrementalLassoHitTester , který považuje za Stroke "hit", když ho obklopuje laso. To je užitečné pro implementaci funkcí, jako je možnost vybrat tah pomocí nástroje laso. Nástroj InkCanvas používá k IncrementalLassoHitTester implementaci nástroje pro výběr lasa.

Platí pro