Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

InkCanvas.SelectionResizing-Ereignis

 

Veröffentlicht: Oktober 2016

Tritt auf, bevor die ausgewählten Striche und Elemente geändert werden.

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

public event InkCanvasSelectionEditingEventHandler SelectionResizing

Dieses Ereignis tritt auf, nachdem ein Benutzer angefordert, dass eine Auswahl von Strichen und/oder Elementen angepasst werden, aber bevor die Änderung angewendet wird.

Der Ereignishandler empfängt ein Argument des Typs InkCanvasSelectionEditingEventArgs enthält zwei Eigenschaften: OldRectangle und NewRectangle. OldRectangle definiert die Grenzen der Auswahl vor dem Ändern der Größe und NewRectangle definiert die Grenzen der Auswahl nach dem Ändern der Größe enthält.

Nachdem die Striche und/oder Elemente mit der neuen Größe aktualisiert wurden die SelectionResized -Ereignis wird ausgelöst.

Im folgende Beispiel wird verhindert, dass der Benutzer eine Auswahl treffen, die kleiner als der ursprünglichen Größe.

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
Verfügbar seit 3.0
Zurück zum Anfang
Anzeigen: