IncrementalHitTester Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Voert dynamisch hittests uit op een Stroke.
public ref class IncrementalHitTester abstract
public abstract class IncrementalHitTester
type IncrementalHitTester = class
Public MustInherit Class IncrementalHitTester
- Overname
-
IncrementalHitTester
- Afgeleid
Voorbeelden
In het volgende voorbeeld ziet u hoe u punten toevoegt aan het IncrementalHitTester moment dat de gebruiker gegevens invoert met de stylus. Het voorbeeld bevat een StrokeHit gebeurtenis-handler waarmee het deel van de Stroke gebruiker wordt gewist. Als u een besturingselement wilt maken waarmee een gebruiker inkt kan wissen, raadpleegt u Het volgende: Inkt wissen op een aangepast besturingselement.
// 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);
}
}
' Prepare to collect stylus packets. Get the
' IncrementalHitTester from the InkPresenter's
' StrokeCollection and subscribe to its StrokeHitChanged event.
Protected Overrides Sub OnStylusDown(ByVal e As StylusDownEventArgs)
MyBase.OnStylusDown(e)
Dim eraserTip As New EllipseStylusShape(3, 3, 0)
eraseTester = presenter.Strokes.GetIncrementalStrokeHitTester(eraserTip)
AddHandler eraseTester.StrokeHit, _
AddressOf eraseTester_StrokeHit
eraseTester.AddPoints(e.GetStylusPoints(Me))
End Sub
' Collect the StylusPackets as the stylus moves.
Protected Overrides Sub OnStylusMove(ByVal e As StylusEventArgs)
If eraseTester.IsValid Then
eraseTester.AddPoints(e.GetStylusPoints(Me))
End If
End Sub
' Unsubscribe from the StrokeHitChanged event when the
' user lifts the stylus.
Protected Overrides Sub OnStylusUp(ByVal e As StylusEventArgs)
eraseTester.AddPoints(e.GetStylusPoints(Me))
RemoveHandler eraseTester.StrokeHit, _
AddressOf eraseTester_StrokeHit
eraseTester.EndHitTesting()
End Sub
' 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.
Private Sub eraseTester_StrokeHit(ByVal sender As Object, _
ByVal args As StrokeHitEventArgs)
Dim eraseResult As StrokeCollection = _
args.GetPointEraseResults()
Dim strokesToReplace As New StrokeCollection()
strokesToReplace.Add(args.HitStroke)
' Replace the old stroke with the new one.
If eraseResult.Count > 0 Then
presenter.Strokes.Replace(strokesToReplace, eraseResult)
Else
presenter.Strokes.Remove(strokesToReplace)
End If
End Sub
Opmerkingen
De IncrementalHitTester dynamisch bepaalt of de gebruiker 'raakt' een Stroke. Met deze klasse kunt u direct feedback geven aan de gebruiker in situaties zoals inkt selecteren en wissen.
Er zijn twee klassen die overnemen van IncrementalHitTester:
De IncrementalLassoHitTester hitteststreken door te bepalen of een lasso-pad er omheen gaat.
De IncrementalStrokeHitTester hitteststreken door te bepalen waar een gumpad deze doorkruist.
De volgende tabel bevat informatie over het beheren van digitale inkt op een aangepast besturingselement.
| Om dit te doen… | Raadpleeg dit artikel |
|---|---|
| Een besturingselement maken waarmee digitale inkt wordt verzameld | Een invoerbeheer voor inkt maken |
| Een besturingselement maken waarmee de gebruiker inkt kan selecteren | Procedure: Inkt selecteren in een aangepast besturingselement |
| Een besturingselement maken waarmee de gebruiker inkt kan aanwijzen | Procedure: Inkt wissen op een aangepast besturingselement |
XAML-tekstgebruik
Deze klasse wordt doorgaans niet gebruikt in XAML.
Eigenschappen
| Name | Description |
|---|---|
| IsValid |
Hiermee wordt aangegeven of de IncrementalHitTester test wordt uitgevoerd. |
Methoden
| Name | Description |
|---|---|
| AddPoint(Point) |
Voegt een Point toe aan de IncrementalHitTester. |
| AddPoints(IEnumerable<Point>) |
Hiermee voegt u punten toe aan de IncrementalHitTester. |
| AddPoints(StylusPointCollection) |
Voegt de opgegeven StylusPoint objecten toe aan de IncrementalHitTester. |
| AddPointsCore(IEnumerable<Point>) |
Hiermee voegt u punten toe aan de IncrementalHitTester. |
| EndHitTesting() |
Releases resources die worden gebruikt door de IncrementalHitTester. |
| Equals(Object) |
Bepaalt of het opgegeven object gelijk is aan het huidige object. (Overgenomen van Object) |
| GetHashCode() |
Fungeert als de standaardhashfunctie. (Overgenomen van Object) |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| ToString() |
Retourneert een tekenreeks die het huidige object vertegenwoordigt. (Overgenomen van Object) |