Вопрос по event-handling, c#, wpf – Как установить EvenHandler в WPF для всех окон (всего приложения)?

3

Как я могу установить обработчик событий (например,keydown) для всего решения, а не одного окна?

Ваш Ответ

5   ответов
3

 public partial class App : Application {
        protected override void OnStartup(StartupEventArgs e) {
            EventManager.RegisterClassHandler(typeof(Window), Window.KeyDownEvent, new RoutedEventHandler(KeyDown));
            base.OnStartup(e);
        }

        void KeyDown(object sender, RoutedEventArgs e) {

        }
    }
0


 для клавиатуры).

Error: User Rate Limit Exceeded Programer
10

я (App.cs), например так:

public partial class App : Application
{
    protected override void OnStartup(StartupEventArgs e)
    {
        base.OnStartup(e);

        EventManager.RegisterClassHandler(typeof(Window), Window.KeyDownEvent, new RoutedEventHandler(Window_KeyDown));
    }

    void Window_KeyDown(object sender, RoutedEventArgs e)
    {
        // your code here
    }
}

Это будет обрабатыватьKeyDown событие для любогоWindowError: User Rate Limit Exceedede вKeyEventArgsError: User Rate Limit Exceeded

Error: User Rate Limit Exceeded Programer
Error: User Rate Limit Exceedednew RoutedEventHandler(..)Error: User Rate Limit Exceedednew KeyEventHandler(Window_KeyDown)
0

чтобы связать событие (где бы оно ни было) и функцию, которую вы готовы работать, когда событие прыгает.

Error: User Rate Limit Exceeded

MZE.

Error: User Rate Limit Exceeded Programer
0

KeyDownKeyDown

Observer шаблон

Error: User Rate Limit Exceeded Programer

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