Compartilhar via


StrokeCollection.GetIncrementalLassoHitTester(Int32) Método

Definição

Cria um IncrementalLassoHitTester que testa os cliques do StrokeCollection com um caminho de laço (à mão livre).

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

Parâmetros

percentageWithinLasso
Int32

O percentual mínimo de cada Stroke que deve estar contido no laço para ser considerado uma ocorrência.

Retornos

IncrementalLassoHitTester

Um IncrementalLassoHitTester que testa os clique de StrokeCollection.

Exemplos

O exemplo a seguir demonstra como obter um IncrementalLassoHitTester que permite que um usuário selecione traços com uma ferramenta de laço. Para criar um controle que permite que um usuário selecione tinta, consulte Como selecionar Tinta em um Controle Personalizado.

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

Comentários

O GetIncrementalLassoHitTester método retorna um IncrementalLassoHitTester que considera um Stroke "hit" quando o caminho do laço o cerca. Isso é útil para implementar recursos, como a capacidade de selecionar um traço com uma ferramenta de laço. O InkCanvas usa um IncrementalLassoHitTester para implementar a ferramenta de seleção de laço.

Aplica-se a