Freigeben über


InkCanvas.SelectionChanged Ereignis

Definition

Tritt ein, wenn die Auswahl auf einer InkCanvas geändert wird.

public:
 event EventHandler ^ SelectionChanged;
public event EventHandler SelectionChanged;
member this.SelectionChanged : EventHandler 
Public Custom Event SelectionChanged As EventHandler 
Public Event SelectionChanged As EventHandler 

Ereignistyp

Beispiele

Im folgenden Beispiel wird verhindert, dass der Benutzer eine Auswahl vornimmt, die kleiner als seine ursprüngliche Größe ist.

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

Hinweise

Dieses Ereignis wird ausgelöst, nachdem eine Reihe von Freihandstrichen und/oder -Elementen vom Benutzer ausgewählt und angewendet wurde.

Wenn Sie stattdessen eine Anforderung behandeln müssen, die eine Reihe von Freihandstrichen und/oder -Elementen auswählt, bevor die Auswahl angewendet wird, fügen Sie dem SelectionChanging Ereignis einen Ereignishandler hinzu.

Gilt für:

Weitere Informationen