Пожалуйста, проверьте ниже код, который определяет то же событие прокрутки двумя различными способами:Разница между нормальным настраиваемой случае статический RoutedEvent
------------------- -------------- нормальный путь ---------------------------------- ----
public event RoutedEventHandler CloseTab;
------------------------------ static RoutedEvent ------- --------------------------
public static readonly RoutedEvent CloseTabEvent =
EventManager.RegisterRoutedEvent("CloseTab", RoutingStrategy.Bubble,
typeof(RoutedEventHandler), typeof(CloseableTabItem));
public event RoutedEventHandler CloseTab
{
add { AddHandler(CloseTabEvent, value); }
remove { RemoveHandler(CloseTabEvent, value); }
}
1. Какая разница между обычным настраиваемым событием и статическим маршрутом?
2.После того, что событие первым способом может быть поднято с помощью метода типа if if (CloseTab! = Null) {CloseTab (o, e);} ", но, во-вторых, методом UIElement.RaiseEvent()?
3.I знаю, что этот вопрос должен быть очень глупым, но доза меня путает. Именно поэтому событие в первом случае может быть вызвано методом if (CloseTab! = Null) {CloseTab (o, e);} "только в классе, который определено событием? И когда он находится вне класс владельца, событие может только добавлять или удалять обработчики с помощью «+ =/- =»?
Спасибо за ваше время!