Как вынести повторяющиеся обработчики событий окна в отдельный шаблон в WPF?
Имеется много окон. Каждому из них в xaml я задаю кастомный блок с кнопками управления. Так же есть 3 обработчика события:
private void WindowPanel_MouseDown(object sender, MouseButtonEventArgs e)
{
if (e.LeftButton == MouseButtonState.Pressed)
DragMove();
}
private void WindowCloseButton_Click(object sender, RoutedEventArgs e)
{
this.DialogResult = true;
}
private void WindowHideButton_Click(object sender, RoutedEventArgs e)
{
this.WindowState = WindowState.Minimized;
}
Я хочу вынести их в отдельный интерфейс(?) или т.п., но выходит так себе. Мне уже советовали создать UserControl, в том числе с целью избавления от копипаста в xaml, но я так и не понял, как он работает. Те же обработчики там не прописать, UserControl не понимает this, ибо он не является Window. Ну или же я плохо разобрался. Спасибо