InkCanvasSelectionHitResult Enum
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Identificeert de verschillende onderdelen van een selectie sieraar op een InkCanvas.
public enum class InkCanvasSelectionHitResult
public enum InkCanvasSelectionHitResult
type InkCanvasSelectionHitResult =
Public Enum InkCanvasSelectionHitResult
- Overname
Velden
| Name | Waarde | Description |
|---|---|---|
| None | 0 | Geen deel van de selectie sieraar. |
| TopLeft | 1 | De linkerbovenhoek van de selectie sieraar. |
| Top | 2 | De bovenste middelste handgreep van de selectie sieraar. |
| TopRight | 3 | De rechter greep van de selectie sieraar. |
| Right | 4 | De middelste handgreep aan de rechterkant van de selectie sieraar. |
| BottomRight | 5 | De rechterbenedengreep van de selectie sieraar. |
| Bottom | 6 | De onderste middelste handgreep van de selectie sieraar. |
| BottomLeft | 7 | De linkerbenedengreep van de selectie sieraar. |
| Left | 8 | De middelste handgreep aan de linkerkant van de selectie sieraar. |
| Selection | 9 | Het gebied binnen de grenzen van de selectie sieraar. |
Voorbeelden
In het volgende voorbeeld ziet u hoe u HitTestSelection kunt bepalen of u een DataObject slepen en neerzetten wilt maken. Zie InkCanvas om slepen en neerzetten tussen twee objecten te implementeren.
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
Opmerkingen
De HitTestSelection methode retourneert een InkCanvasSelectionHitResult om aan te geven welk deel van de selectie sierlijke kruising of omringt een Point. Dit is handig bij het uitvoeren van slepen en neerzetten.
XAML-tekstgebruik
Deze klasse wordt doorgaans niet gebruikt in XAML.