StrokeCollection.GetIncrementalLassoHitTester(Int32) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vytvoří příkaz IncrementalLassoHitTester , který testuje StrokeCollection pomocí lasa (volné ruky).
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
Parametry
- percentageWithinLasso
- Int32
Minimální procento každého Stroke , které musí být obsaženo v lasu, aby se považovalo za zasažené.
Návraty
Chyba IncrementalLassoHitTester , která se stiskne, testuje StrokeCollection.
Příklady
Následující příklad ukazuje, jak získat objekt IncrementalLassoHitTester , který uživateli umožní vybrat tahy pomocí nástroje laso. Pokud chcete vytvořit ovládací prvek, který uživateli umožní vybrat rukopis, přečtěte si téma Postupy: Výběr rukopisu z vlastního ovládacího prvku.
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
Poznámky
Metoda GetIncrementalLassoHitTester vrátí objekt IncrementalLassoHitTester , který považuje za Stroke "hit", když ho obklopuje laso. To je užitečné pro implementaci funkcí, jako je možnost vybrat tah pomocí nástroje laso. Nástroj InkCanvas používá k IncrementalLassoHitTester implementaci nástroje pro výběr lasa.