/
Logris
/
FileWatchService
Обзор
Документация
Войти
/
Logris
/
FileWatchService
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
AdminTools/Service/MiracleService/NotifyIcon/RoutedEventHelper.cs
84 строки
3 KB
Logrus
first commit
15 мар 2025, 14:15
15 мар 2025, 14:15
6de831b
Код
Авторство
О чём код?
using System; using System.Windows; namespace MiracleAdmin { namespace Service { /// <summary> /// Helper class used by routed events of the /// <see cref="TaskbarIcon"/> class. /// </summary> internal static class RoutedEventHelper { #region RoutedEvent Helper Methods /// <summary> /// A static helper method to raise a routed event on a target UIElement or ContentElement. /// </summary> /// <param name="target">UIElement or ContentElement on which to raise the event</param> /// <param name="args">RoutedEventArgs to use when raising the event</param> internal static void RaiseEvent(DependencyObject target, RoutedEventArgs args) { if (target is UIElement) { (target as UIElement).RaiseEvent(args); } else if (target is ContentElement) { (target as ContentElement).RaiseEvent(args); } } /// <summary> /// A static helper method that adds a handler for a routed event /// to a target UIElement or ContentElement. /// </summary> /// <param name="element">UIElement or ContentElement that listens to the event</param> /// <param name="routedEvent">Event that will be handled</param> /// <param name="handler">Event handler to be added</param> internal static void AddHandler(DependencyObject element, RoutedEvent routedEvent, Delegate handler) { UIElement uie = element as UIElement; if (uie != null) { uie.AddHandler(routedEvent, handler); } else { ContentElement ce = element as ContentElement; if (ce != null) { ce.AddHandler(routedEvent, handler); } } } /// <summary> /// A static helper method that removes a handler for a routed event /// from a target UIElement or ContentElement. /// </summary> /// <param name="element">UIElement or ContentElement that listens to the event</param> /// <param name="routedEvent">Event that will no longer be handled</param> /// <param name="handler">Event handler to be removed</param> internal static void RemoveHandler(DependencyObject element, RoutedEvent routedEvent, Delegate handler) { UIElement uie = element as UIElement; if (uie != null) { uie.RemoveHandler(routedEvent, handler); } else { ContentElement ce = element as ContentElement; if (ce != null) { ce.RemoveHandler(routedEvent, handler); } } } #endregion } } }