InkCanvasSelectionHitResult Enumeration
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Bezeichnet die verschiedenen Teile eines Auswahlfunktionsindikators für ein InkCanvas.
public enum class InkCanvasSelectionHitResult
public enum InkCanvasSelectionHitResult
type InkCanvasSelectionHitResult =
Public Enum InkCanvasSelectionHitResult
- Vererbung
Felder
Bottom | 6 | Der untere mittlere Ziehpunkt des Auswahlfunktionsindikators. |
BottomLeft | 7 | Der untere linke Ziehpunkt des Auswahlfunktionsindikators. |
BottomRight | 5 | Der untere rechte Ziehpunkt des Auswahlfunktionsindikators. |
Left | 8 | Der mittlere Ziehpunkt am linken Rand des Auswahlfunktionsindikators. |
None | 0 | Kein Teil des Auswahlfunktionsindikators. |
Right | 4 | Der mittlere Ziehpunkt am rechten Rand des Auswahlfunktionsindikators. |
Selection | 9 | Der Bereich innerhalb der Grenzen des Auswahlfunktionsindikators. |
Top | 2 | Der obere mittlere Ziehpunkt des Auswahlfunktionsindikators. |
TopLeft | 1 | Der obere linke Ziehpunkt des Auswahlfunktionsindikators. |
TopRight | 3 | Der obere rechte Ziehpunkt des Auswahlfunktionsindikators. |
Beispiele
Im folgenden Beispiel wird veranschaulicht, wie Sie HitTestSelection ermitteln können, ob ein DataObject Drag- und Drop-Objekt erstellt werden soll. Informationen zum Implementieren von Ziehen und Ablegen zwischen zwei InkCanvas Objekten finden Sie unter How to: Drag and Drop Ink.
void InkCanvas_PreviewMouseDown(object sender, MouseEventArgs e)
{
InkCanvas ic = (InkCanvas)sender;
Point pt = e.GetPosition(ic);
// If the user is moving selected strokes, prepare the strokes to be
// moved to another InkCanvas.
if (ic.HitTestSelection(pt) ==
InkCanvasSelectionHitResult.Selection)
{
StrokeCollection selectedStrokes = ic.GetSelectedStrokes();
StrokeCollection strokesToMove = selectedStrokes.Clone();
// Remove the offset of the selected strokes so they
// are positioned when the strokes are dropped.
Rect inkBounds = strokesToMove.GetBounds();
TranslateStrokes(strokesToMove, -inkBounds.X, -inkBounds.Y);
// Perform drag and drop.
MemoryStream ms = new MemoryStream();
strokesToMove.Save(ms);
DataObject dataObject = new DataObject(
StrokeCollection.InkSerializedFormat, ms);
DragDropEffects effects =
DragDrop.DoDragDrop(ic, dataObject,
DragDropEffects.Move);
if ((effects & DragDropEffects.Move) ==
DragDropEffects.Move)
{
// Remove the selected strokes
// from the current InkCanvas.
ic.Strokes.Remove(selectedStrokes);
}
}
}
Private Sub InkCanvas_PreviewMouseDown(ByVal sender As Object, _
ByVal e As MouseButtonEventArgs)
Dim ic As InkCanvas = CType(sender, InkCanvas)
Dim pt As Point = e.GetPosition(ic)
' If the user is moving selected strokes, prepare the strokes to be
' moved to another InkCanvas.
If ic.HitTestSelection(pt) = InkCanvasSelectionHitResult.Selection Then
Dim selectedStrokes As StrokeCollection = _
ic.GetSelectedStrokes()
Dim strokesToMove As StrokeCollection = _
selectedStrokes.Clone()
' Remove the offset of the selected strokes so they
' are positioned when the strokes are dropped.
Dim inkBounds As Rect = strokesToMove.GetBounds()
TranslateStrokes(strokesToMove, -inkBounds.X, -inkBounds.Y)
' Perform drag and drop.
Dim ms As New MemoryStream()
strokesToMove.Save(ms)
Dim dataObject As New DataObject _
(StrokeCollection.InkSerializedFormat, ms)
Dim effects As DragDropEffects = _
DragDrop.DoDragDrop(ic, dataObject, DragDropEffects.Move)
If (effects And DragDropEffects.Move) = DragDropEffects.Move Then
' Remove the selected strokes from the current InkCanvas.
ic.Strokes.Remove(selectedStrokes)
End If
End If
End Sub
Hinweise
Die HitTestSelection Methode gibt einen InkCanvasSelectionHitResult Wert zurück, um anzugeben, welcher Teil der Auswahlzierer sich überschneidet oder umgibt.Point Dies ist hilfreich beim Ausführen von Drag-and-Drop-Vorgängen.
XAML-Textverwendung
Diese Klasse wird in der Regel nicht in XAML verwendet.