/// <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))); }
public static void AddRightTappedHandler(IInteractive element, EventHandler <RoutedEventArgs> handler) { element.AddHandler(RightTappedEvent, handler); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }