StrokeCollection.GetIncrementalLassoHitTester(Int32) Метод

Определение

Создает объект IncrementalLassoHitTester, который выполняет проверку касания для коллекции StrokeCollection с использованием пути, определенного лассо (произвольной линией).

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

Параметры

percentageWithinLasso
Int32

Минимальный процент каждого из объектов Stroke, который должен содержаться в лассо для получения положительного результата проверки на касание.

Возвращаемое значение

IncrementalLassoHitTester

Объект IncrementalLassoHitTester, который выполняет проверку на касание для коллекции StrokeCollection.

Примеры

В следующем примере показано, как получить объект IncrementalLassoHitTester , позволяющий пользователю выбирать росчерки с помощью инструмента лассо. Чтобы создать элемент управления, позволяющий пользователю выбирать рукописный ввод, см. раздел "Практическое руководство. Выбор рукописного ввода из пользовательского элемента управления".

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

Комментарии

Метод GetIncrementalLassoHitTester возвращает значение IncrementalLassoHitTester , которое считается Stroke "хитом", когда путь лассо окружает его. Это полезно для реализации таких функций, как возможность выбора росчерка с помощью инструмента лассо. Используется InkCanvas IncrementalLassoHitTester для реализации средства выбора лассо.

Применяется к