InkCanvas.SelectionResizing Událost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Nastane před změnou velikosti vybraných tahů a prvků.
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
Event Type
Příklady
Následující příklad zabrání uživateli v tom, aby výběr byl menší, než je jeho původní velikost.
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
Poznámky
K této události dochází poté, co uživatel požádá o změnu velikosti výběru tahů a/nebo prvků, ale před provedením změny.
Obslužná rutina události obdrží argument typu InkCanvasSelectionEditingEventArgs , který obsahuje dvě vlastnosti: OldRectangle a NewRectangle. OldRectangle definuje hranice výběru před operací změny velikosti a NewRectangle definuje hranice výběru po operaci změny velikosti.
Po aktualizaci tahů a/nebo prvků o novou velikost SelectionResized se vyvolá událost.