Auf Englisch lesen

Teilen über


IncrementalHitTester Klasse

Definition

Führt dynamisch Treffertests für einen Stroke durch.

C#
public abstract class IncrementalHitTester
Vererbung
IncrementalHitTester
Abgeleitet

Beispiele

Im folgenden Beispiel wird veranschaulicht, wie Punkte hinzugefügt werden, IncrementalHitTester wenn der Benutzer Daten mit dem Tablettstift einführt. Das Beispiel enthält einen StrokeHit Ereignishandler, der den Teil des löscht, den Stroke der Benutzer überschneidet. Informationen zum Erstellen eines Steuerelements, das es einem Benutzer ermöglicht, Freihandeingaben zu löschen, finden Sie unter Vorgehensweise: Löschen von Freihand in einem benutzerdefinierten Steuerelement.

C#

// Prepare to collect stylus packets. Get the 
// IncrementalHitTester from the InkPresenter's 
// StrokeCollection and subscribe to its StrokeHitChanged event.
protected override void OnStylusDown(StylusDownEventArgs e)
{
    base.OnStylusDown(e);

    EllipseStylusShape eraserTip = new EllipseStylusShape(3, 3, 0);
    eraseTester = 
        presenter.Strokes.GetIncrementalStrokeHitTester(eraserTip);
    eraseTester.StrokeHit += new StrokeHitEventHandler(eraseTester_StrokeHit);
    eraseTester.AddPoints(e.GetStylusPoints(this));
}

// Collect the StylusPackets as the stylus moves.
protected override void OnStylusMove(StylusEventArgs e)
{
    if (eraseTester.IsValid)
    {
        eraseTester.AddPoints(e.GetStylusPoints(this));
    }
}

// Unsubscribe from the StrokeHitChanged event when the
// user lifts the stylus.
protected override void OnStylusUp(StylusEventArgs e)
{

    eraseTester.AddPoints(e.GetStylusPoints(this));
    eraseTester.StrokeHit -= new
        StrokeHitEventHandler(eraseTester_StrokeHit);
    eraseTester.EndHitTesting();
}

// When the stylus intersects a stroke, erase that part of
// the stroke.  When the stylus dissects a stoke, the 
// Stroke.Erase method returns a StrokeCollection that contains
// the two new strokes.
void eraseTester_StrokeHit(object sender,
    StrokeHitEventArgs args)
{
    StrokeCollection eraseResult =
        args.GetPointEraseResults();
    StrokeCollection strokesToReplace = new StrokeCollection();
    strokesToReplace.Add(args.HitStroke);
   
    // Replace the old stroke with the new one.
    if (eraseResult.Count > 0)
    {
        presenter.Strokes.Replace(strokesToReplace, eraseResult);
    }
    else
    {
        presenter.Strokes.Remove(strokesToReplace);
    }
}

Hinweise

Die IncrementalHitTester bestimmt dynamisch, ob der Benutzer eine Stroke"trifft". Mit dieser Klasse können Sie dem Benutzer in Situationen wie dem Auswählen und Löschen von Freihand sofortiges Feedback geben.

Es gibt zwei Klassen, die von erben IncrementalHitTester:

In der folgenden Tabelle erfahren Sie, wie Sie digitale Freihandeingaben für ein benutzerdefiniertes Steuerelement verwalten.

Aufgabe Siehe dieser Artikel
Erstellen eines Steuerelements, das digitale Freihandeingaben sammelt Erstellen eines Freihandeingabesteuerelements
Erstellen eines Steuerelements, das es dem Benutzer ermöglicht, Freihandeingaben auszuwählen Gewusst wie: Auswählen von Freihandeingaben aus einem benutzerdefinierten Steuerelement
Erstellen eines Steuerelements, das es dem Benutzer ermöglicht, freihand zu löschen Gewusst wie: Löschen von Freihandeingaben auf einem benutzerdefinierten Steuerelement

XAML-Textverwendung

Diese Klasse wird in der Regel nicht in XAML verwendet.

Eigenschaften

IsValid

Ruft ab, ob der IncrementalHitTester einen Treffertest durchführt.

Methoden

AddPoint(Point)

Fügt der Point einen IncrementalHitTester hinzu.

AddPoints(IEnumerable<Point>)

Fügt dem IncrementalHitTester Punkte hinzu.

AddPoints(StylusPointCollection)

Fügt dem StylusPoint die angegebenen IncrementalHitTester-Objekte hinzu.

AddPointsCore(IEnumerable<Point>)

Fügt dem IncrementalHitTester Punkte hinzu.

EndHitTesting()

Gibt von IncrementalHitTester verwendete Ressourcen frei.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Gilt für:

Produkt Versionen
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10