StrokeCollection.HitTest Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Restituisce un insieme di tratti contenuti nell'area specificata.
Overload
HitTest(Rect, Int32) |
Restituisce un insieme di tratti che hanno almeno la percentuale di lunghezza specificata all'interno del rettangolo specificato. |
HitTest(Point, Double) |
Restituisce un insieme di tratti che intersecano l'area specificata. |
HitTest(IEnumerable<Point>, StylusShape) |
Restituisce un insieme di tratti che intersecano con il tracciato specificato. |
HitTest(IEnumerable<Point>, Int32) |
Restituisce un insieme di tratti che hanno almeno la percentuale di lunghezza specificata nell'area specificata. |
HitTest(Point) |
Restituisce un insieme di tratti che intersecano il punto specificato. |
HitTest(Rect, Int32)
Restituisce un insieme di tratti che hanno almeno la percentuale di lunghezza specificata all'interno del rettangolo specificato.
public:
System::Windows::Ink::StrokeCollection ^ HitTest(System::Windows::Rect bounds, int percentageWithinBounds);
public System.Windows.Ink.StrokeCollection HitTest (System.Windows.Rect bounds, int percentageWithinBounds);
member this.HitTest : System.Windows.Rect * int -> System.Windows.Ink.StrokeCollection
Public Function HitTest (bounds As Rect, percentageWithinBounds As Integer) As StrokeCollection
Parametri
- percentageWithinBounds
- Int32
Lunghezza minima richiesta per un tratto, che deve esserci all'interno dei limiti, affinché possa essere considerato riscontrato.
Restituisce
Oggetto StrokeCollection che ha i tratti con almeno la percentuale specificata all'interno dell'oggetto Rect.
Esempio
Nell'esempio seguente vengono cancellati i tratti che sono almeno il 50% entro i limiti dell'oggetto Rect. In questo esempio si presuppone che sia presente un InkPresenter oggetto denominato presenter
.
Rect rect = new Rect(100, 100, 200, 200);
StrokeCollection strokes = presenter.Strokes.HitTest(rect, 50);
presenter.Strokes.Remove(strokes);
Dim rect As Rect = New Rect(100, 100, 200, 200)
Dim strokes As StrokeCollection = presenter.Strokes.HitTest(rect, 50)
presenter.Strokes.Remove(strokes)
Si applica a
HitTest(Point, Double)
Restituisce un insieme di tratti che intersecano l'area specificata.
public:
System::Windows::Ink::StrokeCollection ^ HitTest(System::Windows::Point point, double diameter);
public System.Windows.Ink.StrokeCollection HitTest (System.Windows.Point point, double diameter);
member this.HitTest : System.Windows.Point * double -> System.Windows.Ink.StrokeCollection
Public Function HitTest (point As Point, diameter As Double) As StrokeCollection
Parametri
Restituisce
L'insieme degli oggetti Stroke che intersecano il punto specificato.
Esempio
Nell'esempio seguente viene illustrato come ottenere i tratti che intersecano l'oggetto specificato Point. In questo esempio si presuppone che sia presente un InkPresenter oggetto denominato presenter
.
// Change the color of all the strokes at the specified position.
public void SelectStrokes(Point position)
{
StrokeCollection selected = presenter.Strokes.HitTest(position, 5);
foreach (Stroke s in selected)
{
s.DrawingAttributes.Color = Colors.Purple;
}
}
' Change the color of all the strokes at the specified position.
Public Sub SelectStrokes(ByVal position As Point)
Dim selected As StrokeCollection = presenter.Strokes.HitTest(position, 5)
Dim s As Stroke
For Each s In selected
s.DrawingAttributes.Color = Colors.Purple
Next s
End Sub
Si applica a
HitTest(IEnumerable<Point>, StylusShape)
Restituisce un insieme di tratti che intersecano con il tracciato specificato.
public:
System::Windows::Ink::StrokeCollection ^ HitTest(System::Collections::Generic::IEnumerable<System::Windows::Point> ^ path, System::Windows::Ink::StylusShape ^ stylusShape);
public System.Windows.Ink.StrokeCollection HitTest (System.Collections.Generic.IEnumerable<System.Windows.Point> path, System.Windows.Ink.StylusShape stylusShape);
member this.HitTest : seq<System.Windows.Point> * System.Windows.Ink.StylusShape -> System.Windows.Ink.StrokeCollection
Public Function HitTest (path As IEnumerable(Of Point), stylusShape As StylusShape) As StrokeCollection
Parametri
- path
- IEnumerable<Point>
Matrice per il tipo Point che rappresenta il tracciato da sottoporre a hit testing.
- stylusShape
- StylusShape
StylusShape, che specifica la forma di eraserPath
.
Restituisce
Insieme StrokeCollection di tratti che si intersecano con path
.
Esempio
Nell'esempio Point seguente viene modificato il colore di tutti i tratti che intersecano il percorso creato dalla matrice. In questo esempio si presuppone che sia presente un InkPresenter oggetto denominato presenter
.
private void HitTestWithEraser(Point[] points)
{
RectangleStylusShape eraser = new RectangleStylusShape(3, 3, 0);
StrokeCollection strokes = presenter.Strokes.HitTest(points, eraser);
foreach (Stroke s in strokes)
{
s.DrawingAttributes.Color = Colors.Purple;
}
}
Private Sub HitTestWithEraser(ByVal points() As Point)
Dim eraser As RectangleStylusShape = New RectangleStylusShape(3, 3, 0)
Dim strokes As StrokeCollection = presenter.Strokes.HitTest(points, eraser)
Dim s As Stroke
For Each s In strokes
s.DrawingAttributes.Color = Colors.Purple
Next
End Sub
Si applica a
HitTest(IEnumerable<Point>, Int32)
Restituisce un insieme di tratti che hanno almeno la percentuale di lunghezza specificata nell'area specificata.
public:
System::Windows::Ink::StrokeCollection ^ HitTest(System::Collections::Generic::IEnumerable<System::Windows::Point> ^ lassoPoints, int percentageWithinLasso);
public System.Windows.Ink.StrokeCollection HitTest (System.Collections.Generic.IEnumerable<System.Windows.Point> lassoPoints, int percentageWithinLasso);
member this.HitTest : seq<System.Windows.Point> * int -> System.Windows.Ink.StrokeCollection
Public Function HitTest (lassoPoints As IEnumerable(Of Point), percentageWithinLasso As Integer) As StrokeCollection
Parametri
- lassoPoints
- IEnumerable<Point>
Matrice di tipo Point che rappresenta i limiti dell'area da sottoporre a hit testing.
- percentageWithinLasso
- Int32
Lunghezza accettabile dell'oggetto Stroke, in percentuale, che lassoPoints
può contenere.
Restituisce
Oggetto StrokeCollection che ha i tratti con almeno la percentuale specificata nella matrice Point.
Eccezioni
lassoPoints
contiene una matrice vuota.
percentageWithinLasso
è minore di 0 o maggiore di 100.
Esempio
Nell'esempio seguente viene illustrato come rimuovere tutti i tratti che sono almeno il 80% all'interno del lasso specificato da un StrokeCollectionoggetto . Questo è utile quando un controllo personalizzato consente all'utente di selezionare l'input penna con un lasso. Per creare un controllo che consente a un utente di selezionare input penna con un lasso, vedere Procedura: Selezionare input penna da un controllo personalizzato.
// Remove the strokes within the lasso from the InkPresenter
public void RemoveStrokes(Point[] lasso)
{
StrokeCollection strokes = presenter.Strokes.HitTest(lasso, 80);
presenter.Strokes.Remove(strokes);
}
' Remove the strokes within the lasso from the InkPresenter
Public Sub RemoveStrokes(ByVal lasso As Point())
If lasso Is Nothing Then
Return
End If
Dim strokes As StrokeCollection = _
presenter.Strokes.HitTest(lasso, 80)
presenter.Strokes.Remove(strokes)
End Sub
Si applica a
HitTest(Point)
Restituisce un insieme di tratti che intersecano il punto specificato.
public:
System::Windows::Ink::StrokeCollection ^ HitTest(System::Windows::Point point);
public System.Windows.Ink.StrokeCollection HitTest (System.Windows.Point point);
member this.HitTest : System.Windows.Point -> System.Windows.Ink.StrokeCollection
Public Function HitTest (point As Point) As StrokeCollection
Parametri
- point
- Point
Il punto da sottoporre a hit testing.
Restituisce
L'insieme degli oggetti Stroke che intersecano il punto specificato.
Esempio
Nell'esempio seguente viene illustrato come ottenere i tratti che intersecano l'oggetto specificato Point. In questo esempio si presuppone che sia presente un InkPresenter oggetto denominato presenter
.
// Change the color of all the strokes at the specified position.
public void SelectStrokes(Point position)
{
StrokeCollection selected = presenter.Strokes.HitTest(position, 5);
foreach (Stroke s in selected)
{
s.DrawingAttributes.Color = Colors.Purple;
}
}
' Change the color of all the strokes at the specified position.
Public Sub SelectStrokes(ByVal position As Point)
Dim selected As StrokeCollection = presenter.Strokes.HitTest(position, 5)
Dim s As Stroke
For Each s In selected
s.DrawingAttributes.Color = Colors.Purple
Next s
End Sub