IncrementalHitTester Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
bir üzerinde Strokeisabet testini dinamik olarak gerçekleştirir.
public ref class IncrementalHitTester abstract
public abstract class IncrementalHitTester
type IncrementalHitTester = class
Public MustInherit Class IncrementalHitTester
- Devralma
-
IncrementalHitTester
- Türetilmiş
Örnekler
Aşağıdaki örnekte, kullanıcı ekran kalemiyle veri girişinde noktaların nasıl ekleneceği IncrementalHitTester gösterilmektedir. Örnek, kullanıcının kesiştiği bölümü StrokeHit silen bir Stroke olay işleyicisi içerir. Kullanıcının mürekkep silmesine olanak tanıyan bir denetim oluşturmak için bkz . Nasıl yapılır: Özel Denetimde Mürekkep Silme.
// 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
Açıklamalar
, IncrementalHitTester kullanıcının bir Strokeöğesine "isabet edip etmediğini" dinamik olarak belirler. Bu sınıf, mürekkep seçme ve silme gibi durumlarda kullanıcıya anında geri bildirim sağlamanıza olanak tanır.
öğesinden IncrementalHitTesterdevralan iki sınıf vardır:
İsabet IncrementalLassoHitTester testleri, bir kement yolunun onu çevreleyip çevrelemediğini belirleyerek vuruşlar.
Vuruş IncrementalStrokeHitTester testleri, bir silgi yolunun kesiştiği yeri belirleyerek vuruşlar oluşturur.
Aşağıdaki tabloda, özel bir denetimde dijital mürekkep yönetimi hakkında bilgi edinebileceğiniz yerler listeledik.
| Bunu yapmak için... | Bu makaleye bakın |
|---|---|
| Dijital mürekkep toplayan bir denetim oluşturma | Mürekkep Girişi Denetimi Oluşturma |
| Kullanıcının mürekkep seçmesini sağlayan bir denetim oluşturma | Nasıl yapılır: Özel Denetimden Mürekkep Seçme |
| Kullanıcının mürekkeli işaretle silmesine olanak tanıyan bir denetim oluşturma | Nasıl yapılır: Özel Denetimde Mürekkep Silme |
XAML Metin Kullanımı
Bu sınıf genellikle XAML'de kullanılmaz.
Özellikler
| Name | Description |
|---|---|
| IsValid |
öğesinin IncrementalHitTester isabet testi olup olmadığını alır. |
Yöntemler
| Name | Description |
|---|---|
| AddPoint(Point) |
Point'e IncrementalHitTester ekler. |
| AddPoints(IEnumerable<Point>) |
öğesine IncrementalHitTesternoktalar ekler. |
| AddPoints(StylusPointCollection) |
Belirtilen StylusPoint nesneleri öğesine IncrementalHitTesterekler. |
| AddPointsCore(IEnumerable<Point>) |
öğesine IncrementalHitTesternoktalar ekler. |
| EndHitTesting() |
tarafından IncrementalHitTesterkullanılan kaynakları serbest bırakır. |
| Equals(Object) |
Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler. (Devralındığı yer: Object) |
| GetHashCode() |
Varsayılan karma işlevi işlevi görür. (Devralındığı yer: Object) |
| GetType() |
Geçerli örneğin Type alır. (Devralındığı yer: Object) |
| MemberwiseClone() |
Geçerli Objectbasit bir kopyasını oluşturur. (Devralındığı yer: Object) |
| ToString() |
Geçerli nesneyi temsil eden bir dize döndürür. (Devralındığı yer: Object) |