InkCanvas.SelectionResizing 이벤트

정의

선택된 스트로크 및 요소의 크기가 조정되기 전에 발생합니다.Occurs before selected strokes and elements are resized.

public:
 event System::Windows::Controls::InkCanvasSelectionEditingEventHandler ^ SelectionResizing;
public event System.Windows.Controls.InkCanvasSelectionEditingEventHandler SelectionResizing;
member this.SelectionResizing : System.Windows.Controls.InkCanvasSelectionEditingEventHandler 
Public Custom Event SelectionResizing As InkCanvasSelectionEditingEventHandler 
Public Event SelectionResizing As InkCanvasSelectionEditingEventHandler 

이벤트 유형

InkCanvasSelectionEditingEventHandler

예제

다음 예제에서는 사용자가 원래 크기 보다 작게 선택 하는 것을 방지 합니다.The following example prevents the user from making a selection smaller than its original size.

Rect selectionBounds;

// Don't allow the user to make the selection smaller than its original size.
void inkCanvas1_SelectionResizing(object sender, InkCanvasSelectionEditingEventArgs e)
{
    if (selectionBounds == null || selectionBounds.IsEmpty)
    {
        return;
    }

    double resizeHeight;
    double resizeWidth;

    // If the user made the height of the selection smaller, 
    // use the selection's original height.
    if (e.NewRectangle.Height < selectionBounds.Height)
    {
        resizeHeight = selectionBounds.Height;
    }
    else
    {
        resizeHeight = e.NewRectangle.Height;
    }

    // If the user made the width of the selection smaller, 
    // use the selection's original width.
    if (e.NewRectangle.Width < selectionBounds.Width)
    {
        resizeWidth = selectionBounds.Width;
    }
    else
    {
        resizeWidth = e.NewRectangle.Width;
    }

    // Create a the new rectangle with the appropriate width and height.
    e.NewRectangle = new Rect(e.NewRectangle.X, e.NewRectangle.Y, resizeWidth, resizeHeight);
}

// Keep track of the selection bounds.
void inkCanvas1_SelectionChanged(object sender, EventArgs e)
{
    selectionBounds = inkCanvas1.GetSelectionBounds();
}
Private selectionBounds As Rect

' Don't allow the user to make the selection smaller than its original size.
Private Sub inkCanvas1_SelectionResizing(ByVal sender As Object, ByVal e As InkCanvasSelectionEditingEventArgs)

    If selectionBounds.IsEmpty Then
        Return
    End If

    Dim resizeHeight As Double
    Dim resizeWidth As Double

    ' If the user made the height of the selection smaller, 
    ' use the selection's original height.
    If e.NewRectangle.Height < selectionBounds.Height Then
        resizeHeight = selectionBounds.Height
    Else
        resizeHeight = e.NewRectangle.Height
    End If

    ' If the user made the width of the selection smaller, 
    ' use the selection's original width.
    If e.NewRectangle.Width < selectionBounds.Width Then
        resizeWidth = selectionBounds.Width
    Else
        resizeWidth = e.NewRectangle.Width
    End If

    ' Create a the new rectangle with the appropriate width and height.
    e.NewRectangle = New Rect(e.NewRectangle.X, e.NewRectangle.Y, resizeWidth, resizeHeight)

End Sub


' Keep track of the selection bounds.
Private Sub inkCanvas1_SelectionChanged(ByVal sender As Object, ByVal e As EventArgs)

    selectionBounds = inkCanvas1.GetSelectionBounds()

End Sub

설명

이 이벤트는 사용자가 선택 된 스트로크 및/또는 요소의 크기를 조정 하도록 요청한 후 변경 내용이 적용 되기 전에 발생 합니다.This event occurs after the user requests that a selection of strokes and/or elements be resized, but before the change is applied.

이벤트 처리기는 InkCanvasSelectionEditingEventArgs 및 라는 두 개의 속성을 포함 하는 형식의 인수를 받습니다 OldRectangle NewRectangle .The event handler receives an argument of type InkCanvasSelectionEditingEventArgs that contains two properties: OldRectangle and NewRectangle. OldRectangle 크기 조정 작업 전의 선택 영역 경계를 정의 하 고 NewRectangle 크기 조정 작업 후의 선택 영역 경계를 정의 합니다.OldRectangle defines the boundaries of the selection before the resizing operation and NewRectangle defines the boundaries of the selection after the resizing operation.

스트로크 및/또는 요소를 새 크기로 업데이트 한 후 SelectionResized 이벤트가 발생 합니다.After the strokes and/or elements are updated with the new size, the SelectionResized event is raised.

적용 대상

추가 정보