InkCanvasSelectionHitResult Enumerazione
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à
Nome | Valore | Descrizione |
---|---|---|
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. |
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
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.
Questa classe non viene in genere usata in XAML.
Prodotto | Versioni |
---|---|
.NET Framework | 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
Windows Desktop | 3.0, 3.1, 5, 6, 7, 8, 9 |
Feedback su .NET
.NET è un progetto open source. Seleziona un collegamento per fornire feedback: