Condividi tramite


StrokeCollection.GetIncrementalLassoHitTester(Int32) Metodo

Definizione

Crea un oggetto IncrementalLassoHitTester che sottopone StrokeCollection a hit testing, con un tracciato lazo, a mano libera

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

Parametri

percentageWithinLasso
Int32

La minima percentuale di ogni oggetto Stroke che deve essere contenuto nel lazo affinché possa essere considerato un riscontro.

Restituisce

IncrementalLassoHitTester

Oggetto IncrementalLassoHitTester che sottopone l'insieme StrokeCollection a hit testing.

Esempio

Nell'esempio seguente viene illustrato come ottenere un oggetto IncrementalLassoHitTester che consente a un utente di selezionare i tratti con uno strumento lazo. Per creare un controllo che consente a un utente di selezionare l'input penna, vedere Procedura: Selezionare input penna da un controllo personalizzato.

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

Commenti

Il GetIncrementalLassoHitTester metodo restituisce un oggetto IncrementalLassoHitTester che considera un oggetto Stroke "hit" quando il percorso di lazo lo circonda. Ciò è utile per l'implementazione di funzionalità, ad esempio la possibilità di selezionare un tratto con uno strumento lazo. InkCanvas usa un IncrementalLassoHitTester oggetto per implementare lo strumento di selezione lazo.

Si applica a