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, который выполняет проверку на касание для коллекции 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 для реализации средства выбора лассо.