InkCanvas.SelectionResizing Ereignis
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Tritt ein, bevor die Größe der ausgewählten Striche und Elemente geändert wird.
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
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 tritt auf, nachdem der Benutzer die Größe einer Auswahl von Strichen und/oder Elementen anfordert, aber bevor die Änderung angewendet wird.
Der Ereignishandler empfängt ein Argument vom Typ InkCanvasSelectionEditingEventArgs , das zwei Eigenschaften enthält: OldRectangle und NewRectangle. OldRectangle definiert die Grenzen der Auswahl vor dem Größenänderungsvorgang und NewRectangle definiert die Grenzen der Auswahl nach dem Größenänderungsvorgang.
Nachdem die Striche und/oder Elemente mit der neuen Größe aktualisiert wurden, wird das SelectionResized Ereignis ausgelöst.