InkCanvasSelectionHitResult Enumeration
Identifies the various parts of a selection adorner on an InkCanvas.
Assembly: PresentationFramework (in PresentationFramework.dll)
XMLNS for XAML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation
| Member name | Description | |
|---|---|---|
| Bottom | The lower middle handle of the selection adorner. | |
| BottomLeft | The lower left handle of the selection adorner. | |
| BottomRight | The lower right handle of the selection adorner. | |
| Left | The middle handle on the left edge of the selection adorner. | |
| None | No part of the selection adorner. | |
| Right | The middle handle on the right edge of the selection adorner. | |
| Selection | The area within the bounds of the selection adorner. | |
| Top | The upper middle handle of the selection adorner. | |
| TopLeft | The upper left handle of the selection adorner. | |
| TopRight | The upper right handle of the selection adorner. |
The HitTestSelection method returns an InkCanvasSelectionHitResult to indicate which part of the selection adorner intersects or surrounds a Point. This is useful when performing drag-and-drop operations.
The following example demonstrates how use HitTestSelection to determine whether to create a DataObject to initiate drag and drop. To implement drag and drop between two InkCanvas objects, see 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); } } }
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.