Я определил пользовательское перенаправленное событие со следующими конструкциями (имена изменены):
открытый класс MyRoutedEventArgs: RoutedEventArgs
{...}
открытый делегат void MyRoutedEventHandler (Отправитель объекта, аргументы MyRoutedEventArgs);
public static readonly RoutedEvent MyEvent;
MyClass.MyEvent =
EventManager.RegisterRoutedEvent ("MyEvent", RoutingStrategy.Tunnel, typeof (MyRoutedEventHandler), typeof (MyClass));
Далее я создаю оболочку события CLR:
публичное событие MyRoutedEventHandler MyEvent {
add {AddHandler (MyEvent, value); }
удалить {RemoveHandler (MyEvent, значение); }
}
Проблема в том, что когда я определяю его, как показано выше, intellisense XAML не работает для автоматической генерации тела метода обработчика. Что я заметил, так это то, что если вы измените свою оболочку событий CLR на общий тип RoutedEventHandler, все будет работать! Однако в этом случае автоматически сгенерированный метод получает универсальный RoutedEventArgs (ну, правильно соответствующий RoutedEventHandler), что вынуждает меня вручную переписать его как MyRoutedEventArgs.