Задать вопрос
deadpoolweid
@deadpoolweid
Разработчик ПО

Как устроены события в WPF?

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

Какой вариант лучше зависит от того, что вы делаете.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
deadpoolweid
@deadpoolweid Автор вопроса
Разработчик ПО
<StackPanel Button.Click="SomeButtonOnClick">
    <Button Name="SomeButton1" />
    <Button Name="SomeButton2" />
    <Button Name="SomeButton3" />
...
</StackPanel>
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы