InkCanvasSelectionHitResult 열거형
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
InkCanvas에서 선택 표시기(Ardorner)의 여러 부분을 식별합니다.
public enum class InkCanvasSelectionHitResult
public enum InkCanvasSelectionHitResult
type InkCanvasSelectionHitResult =
Public Enum InkCanvasSelectionHitResult
- 상속
필드
Bottom | 6 | 선택 표시기의 아래쪽 가운데 핸들입니다. |
BottomLeft | 7 | 선택 표시기의 왼쪽 아래 핸들입니다. |
BottomRight | 5 | 선택 표시기의 오른쪽 아래 핸들입니다. |
Left | 8 | 선택 표시기의 왼쪽 가장자리 가운데 핸들입니다. |
None | 0 | 선택 표시기의 어떠한 부분도 아닙니다. |
Right | 4 | 선택 표시기의 오른쪽 가장자리 가운데 핸들입니다. |
Selection | 9 | 선택 표시기의 경계 내 영역입니다. |
Top | 2 | 선택 표시기의 위쪽 가운데 핸들입니다. |
TopLeft | 1 | 선택 표시기의 왼쪽 위 핸들입니다. |
TopRight | 3 | 선택 표시기의 오른쪽 위 핸들입니다. |
예제
다음 예제에서는 사용 하는 방법을 HitTestSelection 만들지 여부를 결정 하는 DataObject 시작 끌어서 놓습니다. 끌어서를 구현 하 여 두 놓을 InkCanvas 개체를 참조 하세요 방법: 끌어서 놓기 잉크합니다.
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
설명
HitTestSelection 메서드가 반환 되는 InkCanvasSelectionHitResult 선택 부분 표시기 교차 하거나이 점을 둘러싸는 나타내려면를 Point. 끌어서 놓기 작업을 수행 하는 경우에 유용 합니다.
XAML 텍스트 사용
이 클래스는 XAML에서 일반적으로 사용 되지 않습니다.