Пример #1
0
        /// <summary>
        /// Adds a handler for the specified routed event and returns a disposable that can terminate the event subscription.
        /// </summary>
        /// <typeparam name="TEventArgs">The type of the event's args.</typeparam>
        /// <param name="o">Target for adding given event handler.</param>
        /// <param name="routedEvent">The routed event.</param>
        /// <param name="handler">The handler.</param>
        /// <param name="routes">The routing strategies to listen to.</param>
        /// <param name="handledEventsToo">Whether handled events should also be listened for.</param>
        /// <returns>A disposable that terminates the event subscription.</returns>
        public static IDisposable AddDisposableHandler <TEventArgs>(this IInteractive o, RoutedEvent <TEventArgs> routedEvent,
                                                                    EventHandler <TEventArgs> handler,
                                                                    RoutingStrategies routes = RoutingStrategies.Direct | RoutingStrategies.Bubble,
                                                                    bool handledEventsToo    = false) where TEventArgs : RoutedEventArgs
        {
            o.AddHandler(routedEvent, handler, routes, handledEventsToo);

            return(Disposable.Create(
                       (instance: o, handler, routedEvent),
                       state => state.instance.RemoveHandler(state.routedEvent, state.handler)));
        }
 /// <summary>
 /// Gets an observable for a <see cref="RoutedEvent{TEventArgs}"/>.
 /// </summary>
 /// <param name="o">The object to listen for events on.</param>
 /// <param name="routedEvent">The routed event.</param>
 /// <param name="routes">The routing strategies to listen to.</param>
 /// <param name="handledEventsToo">Whether handled events should also be listened for.</param>
 /// <returns>
 /// An observable which fires each time the event is raised.
 /// </returns>
 public static IObservable <TEventArgs> GetObservable <TEventArgs>(
     this IInteractive o,
     RoutedEvent <TEventArgs> routedEvent,
     RoutingStrategies routes = RoutingStrategies.Direct | RoutingStrategies.Bubble,
     bool handledEventsToo    = false)
     where TEventArgs : RoutedEventArgs
 {
     return(Observable.Create <TEventArgs>(x => o.AddHandler(
                                               routedEvent,
                                               (_, e) => x.OnNext(e),
                                               routes,
                                               handledEventsToo)));
 }
Пример #3
0
 public static void AddRightTappedHandler(IInteractive element, EventHandler <RoutedEventArgs> handler)
 {
     element.AddHandler(RightTappedEvent, handler);
 }
Пример #4
0
 /// <summary>
 /// Adds a handler for the <see cref="TextFound"/> attached event.
 /// </summary>
 /// <param name="element">An object that raise the <see cref="TextFound"/> routed event.</param>
 /// <param name="handler">The handler.</param>
 public static void AddTextFoundHandler(IInteractive element, EventHandler <TextFoundRoutedEventArgs> handler)
 {
     element?.AddHandler(TextFoundEvent, handler);
 }
Пример #5
0
 /// <summary>
 /// Adds a handler for the <see cref="PdfPrintFinished"/> attached event.
 /// </summary>
 /// <param name="element">An object that raise the <see cref="PdfPrintFinished"/> routed event.</param>
 /// <param name="handler">The handler.</param>
 public static void AddStatusTextChangedHandler(IInteractive element, EventHandler <EventArgs> handler)
 {
     element?.AddHandler(PdfPrintFinishedEvent, handler);
 }
Пример #6
0
 /// <summary>
 /// Adds a handler for the <see cref="PdfPrintFinished"/> attached event.
 /// </summary>
 /// <param name="element">An object that raise the <see cref="PdfPrintFinished"/> routed event.</param>
 /// <param name="handler">The handler.</param>
 public static void AddPdfPrintFinishedHandler(IInteractive element, EventHandler <PdfPrintFinishedRoutedEventArgs> handler)
 {
     element?.AddHandler(PdfPrintFinishedEvent, handler);
 }
Пример #7
0
 /// <summary>
 /// Adds a handler for the <see cref="ScriptDialogOpening"/> attached event.
 /// </summary>
 /// <param name="element">An object that raise the <see cref="ScriptDialogOpening"/> routed event.</param>
 /// <param name="handler">The handler.</param>
 public static void AddScriptDialogOpeningHandler(IInteractive element, EventHandler <ScriptDialogOpeningRoutedEventArgs> handler)
 {
     element?.AddHandler(ScriptDialogOpeningEvent, handler);
 }