InkCanvas.SelectionResizing Evento
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Si verifica prima che i tratti e gli elementi selezionati vengano ridimensionati.
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
Tipo evento
Esempio
L'esempio seguente impedisce all'utente di effettuare una selezione inferiore alla dimensione originale.
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
Commenti
Questo evento si verifica dopo che l'utente richiede che venga ridimensionata una selezione di tratti e/o elementi, ma prima che venga applicata la modifica.
Il gestore eventi riceve un argomento di tipo InkCanvasSelectionEditingEventArgs contenente due proprietà: OldRectangle e NewRectangle. OldRectangle definisce i limiti della selezione prima dell'operazione di ridimensionamento e NewRectangle definisce i limiti della selezione dopo l'operazione di ridimensionamento.
Dopo l'aggiornamento dei tratti e/o degli elementi con le nuove dimensioni, viene generato l'evento SelectionResized .