Здравствуйте!
Когда мы создаём новое окно с помощью XAML разметки строится дерево элементов в конструкторе окна внутри метода InitializeComponent();
Элементам, находящимся внутри окна можно добавить один обработчик события прямо в коде XAML.
Я работаю с уже готовой информационной системой, которая имеет множество окон. В каждом окне есть несколько кнопок. На каждой из кнопок уже висит обработчик события (Click), который добавлен прямо в коде XAML. У меня есть функция, которая должна выполняться перед нажатием каждой кнопки.
Так вот вопрос, как мне добавить свой обработчик события так, чтобы он запускался до уже прописанного в разметке?
Так же, интересно было бы узнать, в какой момент обработчики событий добавляются к событиям элементов, если они прописаны в XAML.
Надеюсь на вашу помощь..
1 Вариант "Общие сведения о перенаправленных событиях"
2 Вариант это сделать сервис с нужным вам функционалом, инъектить его в каждое окно и в каждый обработчик добавить вызов какого либо метода
3 Вариант использовать пост обработку кода: Fody и например MethodDecorator или MrAdvice, посмотрите на странице репозитория Fody, там большой список обработчиков.
Какой вариант лучше зависит от того, что вы делаете.
Про постобработку не слышал, полезная вещица.
Я забыл про одну очень важную вещь.
Обработчики событий могут быть назначены не в самом элементе, а в родительских, например, так:
...
Получается я могу добавить обработчик события Button.Click прямо в шаблоне окна. По идее, этот обработчик должен добавиться перед всеми, что появятся непосредственно в каждом конкретном окне.
Спасибо за помощь!