InkCanvas.GetSelectionBounds Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает границы выделенных штрихов и элементов на InkCanvas.
public:
System::Windows::Rect GetSelectionBounds();
public System.Windows.Rect GetSelectionBounds ();
member this.GetSelectionBounds : unit -> System.Windows.Rect
Public Function GetSelectionBounds () As Rect
Возвращаемое значение
Наименьший прямоугольник, охватывающий все выделенные штрихи и элементы.
Примеры
В следующем примере пользователь не может сделать выделение меньше, чем его исходный размер.
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
Применяется к
Совместная работа с нами на GitHub
Источник этого содержимого можно найти на GitHub, где также можно создавать и просматривать проблемы и запросы на вытягивание. Дополнительные сведения см. в нашем руководстве для участников.