InkCanvasSelectionHitResult Enumerazione
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.
Identifica le varie parti di un strumento decorativo visuale di selezione su un InkCanvas.
public enum class InkCanvasSelectionHitResult
public enum InkCanvasSelectionHitResult
type InkCanvasSelectionHitResult =
Public Enum InkCanvasSelectionHitResult
- Ereditarietà
Campi
Bottom | 6 | Il punto di controllo in basso al centro dello strumento decorativo visuale di selezione. |
BottomLeft | 7 | Il punto di controllo in basso a sinistra dello strumento decorativo visuale di selezione. |
BottomRight | 5 | Il punto di controllo in basso a destra dello strumento decorativo visuale di selezione. |
Left | 8 | Il punto di controllo al centro del bordo sinistro dello strumento decorativo visuale di selezione. |
None | 0 | Nessuna parte dello strumento decorativo visuale di selezione. |
Right | 4 | Il punto di controllo al centro del bordo destro dello strumento decorativo visuale di selezione. |
Selection | 9 | L'area entro i limiti dello strumento decorativo visuale di selezione. |
Top | 2 | Il punto di controllo al centro in alto dello strumento decorativo visuale di selezione. |
TopLeft | 1 | Il punto di controllo in alto a sinistra dello strumento decorativo visuale di selezione. |
TopRight | 3 | Il punto di controllo in alto a destra dello strumento decorativo visuale di selezione. |
Esempio
Nell'esempio seguente viene illustrato come usare HitTestSelection per determinare se creare un DataObject oggetto per avviare il trascinamento e l'eliminazione. Per implementare il trascinamento e l'eliminazione tra due InkCanvas oggetti, vedere Procedura: Trascinare e rilasciare l'input penna.
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
Commenti
Il HitTestSelection metodo restituisce un InkCanvasSelectionHitResult oggetto per indicare quale parte della selezione si interseca o circonda un Pointoggetto . Questa operazione è utile durante l'esecuzione di operazioni di trascinamento e rilascio.
Utilizzo del testo XAML
Questa classe non viene in genere usata in XAML.