Классические элементы пользовательского интерфейса в Windows Presentation Foundation. Шамшев Ан. Б. - 74 стр.

UptoLike

Составители: 

73
внешнего вида, например, с помощью векторного значка X, прорисовыва-
емого на красной поверхности.
5.8.3. Перемещение окон нестандартной формы
Одним из ограничений окон нестандартной формы является то, что в
них отсутствует неклиентская область со строкой заголовка, позволяющая
пользователю легко перетаскивать окно по рабочему столу. В Windows
Forms это было весьма сложной задачей приходилось либо обеспечи-
вать реакцию на события мыши MouseDown, MouseUp и MouseMove и пе-
ремещать окно вручную при выполнении пользователем щелчка и пере-
таскивания. В WPF эта задача решается гораздо легче за счет того, что в
любое время можно инициировать режим перетаскивания окна путем вы-
зова метода Window.DragMove().
Для того чтобы позволить пользователю перетаскивать окно не-
обычной формы, которое было показано в примере выше, необходимо
просто добавить и обработать для окна или того элемента в этом окне, ко-
торый впоследствии будет выполнять роль строки заголовка, событие
MouseLeftButtonDown:
<TextBlock Text="Title Bar" Margin="1" Padding="5" MouseLeftBut-
tonDown="titleBar_MouseLeftButtonDown"></TextBlock>
К обработчику события потребуется добавить только одну строку
кода:
private void titleBar_MouseLeftButtonDown(object sender, MouseButtonEventArgs
e)
{
this.DragMove();
}
Теперь окно будет следовать за курсором мыши по экрану до тех
пор, пока пользователь не отпустит кнопку мыши.
5.8.4. Изменение размеров окон нестандартной формы
Изменение размеров окна нестандартной формы задача не про-
стая. Если форма окна хотя бы немного напоминает прямоугольник,