Passer au contenu principal
Version : 11.0.0

Gestionnaires de classe

Dans WPF, des gestionnaires de classe pour des événements peuvent être ajoutés en appelant EventManager.RegisterClassHandler. Un exemple d'enregistrement d'un gestionnaire de classe dans WPF pourrait être :

WPF
static MyControl()
{
EventManager.RegisterClassHandler(typeof(MyControl), MyEvent, HandleMyEvent));
}

private static void HandleMyEvent(object sender, RoutedEventArgs e)
{
}
Avalonia
static MyControl()
{
MyEvent.AddClassHandler<MyControl>((x, e) => x.HandleMyEvent(e));
}

private void HandleMyEvent(RoutedEventArgs e)
{
}

Remarquez qu'en WPF, vous devez ajouter le gestionnaire de classe en tant que méthode statique, tandis qu'en Avalonia, le gestionnaire de classe n'est pas statique : la notification est automatiquement dirigée vers l'instance correcte. Le paramètre sender, typique des gestionnaires d'événements, n'est pas nécessaire dans ce cas et tout reste fortement typé.

Avalonia XPF - Cross-Platform WPF

Take your WPF apps to macOS and Linux in minutes, not months.