次の方法で共有


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

注釈

メソッドは GetIncrementalLassoHitTesterIncrementalLassoHitTester を "ヒット" と見な Stroke す を返します。これは、なげなわパスで囲まれているときです。 これは、なげなわツールを使用してストロークを選択する機能などの機能を実装する場合に便利です。 では InkCanvas 、 を IncrementalLassoHitTester 使用してなげなわ選択ツールを実装します。

適用対象