SelectionResizing Event

InkCanvas.SelectionResizing Event

 

Occurs before selected strokes and elements are resized.

Namespace:   System.Windows.Controls
Assembly:  PresentationFramework (in PresentationFramework.dll)

public event InkCanvasSelectionEditingEventHandler SelectionResizing

This event occurs after the user requests that a selection of strokes and/or elements be resized, but before the change is applied.

The event handler receives an argument of type InkCanvasSelectionEditingEventArgs that contains two properties: OldRectangle and NewRectangle. OldRectangle defines the boundaries of the selection before the resizing operation and NewRectangle defines the boundaries of the selection after the resizing operation.

After the strokes and/or elements are updated with the new size, the SelectionResized event is raised.

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();
}

.NET Framework
Available since 3.0
Return to top
Show:
© 2016 Microsoft