root / trunk / NotifyIconWpf / RoutedEventHelper.cs @ 049333d2
History | View | Annotate | Download (2.5 kB)
1 | 9bae55d1 | Panagiotis Kanavos | using System; |
---|---|---|---|
2 | 9bae55d1 | Panagiotis Kanavos | using System.Windows; |
3 | 9bae55d1 | Panagiotis Kanavos | |
4 | 9bae55d1 | Panagiotis Kanavos | namespace Hardcodet.Wpf.TaskbarNotification |
5 | 9bae55d1 | Panagiotis Kanavos | { |
6 | 9bae55d1 | Panagiotis Kanavos | /// <summary> |
7 | 9bae55d1 | Panagiotis Kanavos | /// Helper class used by routed events of the |
8 | 9bae55d1 | Panagiotis Kanavos | /// <see cref="TaskbarIcon"/> class. |
9 | 9bae55d1 | Panagiotis Kanavos | /// </summary> |
10 | 9bae55d1 | Panagiotis Kanavos | internal static class RoutedEventHelper |
11 | 9bae55d1 | Panagiotis Kanavos | { |
12 | 9bae55d1 | Panagiotis Kanavos | #region RoutedEvent Helper Methods |
13 | 9bae55d1 | Panagiotis Kanavos | |
14 | 9bae55d1 | Panagiotis Kanavos | /// <summary> |
15 | 9bae55d1 | Panagiotis Kanavos | /// A static helper method to raise a routed event on a target UIElement or ContentElement. |
16 | 9bae55d1 | Panagiotis Kanavos | /// </summary> |
17 | 9bae55d1 | Panagiotis Kanavos | /// <param name="target">UIElement or ContentElement on which to raise the event</param> |
18 | 9bae55d1 | Panagiotis Kanavos | /// <param name="args">RoutedEventArgs to use when raising the event</param> |
19 | 9bae55d1 | Panagiotis Kanavos | internal static void RaiseEvent(DependencyObject target, RoutedEventArgs args) |
20 | 9bae55d1 | Panagiotis Kanavos | { |
21 | 9bae55d1 | Panagiotis Kanavos | if (target is UIElement) |
22 | 9bae55d1 | Panagiotis Kanavos | { |
23 | 9bae55d1 | Panagiotis Kanavos | (target as UIElement).RaiseEvent(args); |
24 | 9bae55d1 | Panagiotis Kanavos | } |
25 | 9bae55d1 | Panagiotis Kanavos | else if (target is ContentElement) |
26 | 9bae55d1 | Panagiotis Kanavos | { |
27 | 9bae55d1 | Panagiotis Kanavos | (target as ContentElement).RaiseEvent(args); |
28 | 9bae55d1 | Panagiotis Kanavos | } |
29 | 9bae55d1 | Panagiotis Kanavos | } |
30 | 9bae55d1 | Panagiotis Kanavos | |
31 | 9bae55d1 | Panagiotis Kanavos | /// <summary> |
32 | 9bae55d1 | Panagiotis Kanavos | /// A static helper method that adds a handler for a routed event |
33 | 9bae55d1 | Panagiotis Kanavos | /// to a target UIElement or ContentElement. |
34 | 9bae55d1 | Panagiotis Kanavos | /// </summary> |
35 | 9bae55d1 | Panagiotis Kanavos | /// <param name="element">UIElement or ContentElement that listens to the event</param> |
36 | 9bae55d1 | Panagiotis Kanavos | /// <param name="routedEvent">Event that will be handled</param> |
37 | 9bae55d1 | Panagiotis Kanavos | /// <param name="handler">Event handler to be added</param> |
38 | 9bae55d1 | Panagiotis Kanavos | internal static void AddHandler(DependencyObject element, RoutedEvent routedEvent, Delegate handler) |
39 | 9bae55d1 | Panagiotis Kanavos | { |
40 | 9bae55d1 | Panagiotis Kanavos | UIElement uie = element as UIElement; |
41 | 9bae55d1 | Panagiotis Kanavos | if (uie != null) |
42 | 9bae55d1 | Panagiotis Kanavos | { |
43 | 9bae55d1 | Panagiotis Kanavos | uie.AddHandler(routedEvent, handler); |
44 | 9bae55d1 | Panagiotis Kanavos | } |
45 | 9bae55d1 | Panagiotis Kanavos | else |
46 | 9bae55d1 | Panagiotis Kanavos | { |
47 | 9bae55d1 | Panagiotis Kanavos | ContentElement ce = element as ContentElement; |
48 | 9bae55d1 | Panagiotis Kanavos | if (ce != null) |
49 | 9bae55d1 | Panagiotis Kanavos | { |
50 | 9bae55d1 | Panagiotis Kanavos | ce.AddHandler(routedEvent, handler); |
51 | 9bae55d1 | Panagiotis Kanavos | } |
52 | 9bae55d1 | Panagiotis Kanavos | } |
53 | 9bae55d1 | Panagiotis Kanavos | } |
54 | 9bae55d1 | Panagiotis Kanavos | |
55 | 9bae55d1 | Panagiotis Kanavos | /// <summary> |
56 | 9bae55d1 | Panagiotis Kanavos | /// A static helper method that removes a handler for a routed event |
57 | 9bae55d1 | Panagiotis Kanavos | /// from a target UIElement or ContentElement. |
58 | 9bae55d1 | Panagiotis Kanavos | /// </summary> |
59 | 9bae55d1 | Panagiotis Kanavos | /// <param name="element">UIElement or ContentElement that listens to the event</param> |
60 | 9bae55d1 | Panagiotis Kanavos | /// <param name="routedEvent">Event that will no longer be handled</param> |
61 | 9bae55d1 | Panagiotis Kanavos | /// <param name="handler">Event handler to be removed</param> |
62 | 9bae55d1 | Panagiotis Kanavos | internal static void RemoveHandler(DependencyObject element, RoutedEvent routedEvent, Delegate handler) |
63 | 9bae55d1 | Panagiotis Kanavos | { |
64 | 9bae55d1 | Panagiotis Kanavos | UIElement uie = element as UIElement; |
65 | 9bae55d1 | Panagiotis Kanavos | if (uie != null) |
66 | 9bae55d1 | Panagiotis Kanavos | { |
67 | 9bae55d1 | Panagiotis Kanavos | uie.RemoveHandler(routedEvent, handler); |
68 | 9bae55d1 | Panagiotis Kanavos | } |
69 | 9bae55d1 | Panagiotis Kanavos | else |
70 | 9bae55d1 | Panagiotis Kanavos | { |
71 | 9bae55d1 | Panagiotis Kanavos | ContentElement ce = element as ContentElement; |
72 | 9bae55d1 | Panagiotis Kanavos | if (ce != null) |
73 | 9bae55d1 | Panagiotis Kanavos | { |
74 | 9bae55d1 | Panagiotis Kanavos | ce.RemoveHandler(routedEvent, handler); |
75 | 9bae55d1 | Panagiotis Kanavos | } |
76 | 9bae55d1 | Panagiotis Kanavos | } |
77 | 9bae55d1 | Panagiotis Kanavos | } |
78 | 9bae55d1 | Panagiotis Kanavos | |
79 | 9bae55d1 | Panagiotis Kanavos | #endregion |
80 | 9bae55d1 | Panagiotis Kanavos | } |
81 | 9bae55d1 | Panagiotis Kanavos | } |