StrokeCollection.GetIncrementalLassoHitTester(Int32) Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Skapar en IncrementalLassoHitTester som träffar testar StrokeCollection med en lassosökväg (frihand).
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
Parametrar
- percentageWithinLasso
- Int32
Den minsta procentandelen av varje Stroke som måste finnas i lasso för att den ska betraktas som träffad.
Returer
En IncrementalLassoHitTester träff testar StrokeCollection.
Exempel
I följande exempel visas hur du hämtar en IncrementalLassoHitTester som gör det möjligt för en användare att välja linjer med ett lassoverktyg. Information om hur du skapar en kontroll som gör att en användare kan välja pennanteckning finns i Så här väljer du pennanteckning från en anpassad kontroll.
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
Kommentarer
Metoden GetIncrementalLassoHitTester returnerar en IncrementalLassoHitTester som betraktar en Stroke som "träff" när lasso-sökvägen omger den. Detta är användbart för att implementera funktioner, till exempel möjligheten att välja en linje med ett lassoverktyg. InkCanvas Använder en IncrementalLassoHitTester för att implementera lasso-markeringsverktyget.