InkCanvas.GetSelectionBounds Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera granice zaznaczonych pociągnięć i elementów w obiekcie InkCanvas.
public:
System::Windows::Rect GetSelectionBounds();
public System.Windows.Rect GetSelectionBounds ();
member this.GetSelectionBounds : unit -> System.Windows.Rect
Public Function GetSelectionBounds () As Rect
Zwraca
Najmniejszy prostokąt, który obejmuje wszystkie zaznaczone pociągnięcia i elementy.
Przykłady
Poniższy przykład uniemożliwia użytkownikowi dokonanie wyboru mniejszego niż jego oryginalny rozmiar.
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