/// <summary> /// Sets a pseudoclass depending on an observable trigger. /// </summary> /// <param name="classes">The pseudoclasses collection.</param> /// <param name="name">The name of the pseudoclass to set.</param> /// <param name="trigger">The trigger: true adds the pseudoclass, false removes.</param> /// <returns>A disposable used to cancel the subscription.</returns> public static IDisposable Set(this IPseudoClasses classes, string name, IObservable <bool> trigger) { return(trigger.Subscribe(x => classes.Set(name, x))); }
/// <summary> /// Sets a pseudoclass depending on an observable trigger. /// </summary> /// <param name="classes">The pseudoclasses collection.</param> /// <param name="name">The name of the pseudoclass to set.</param> /// <param name="trigger">The trigger: true adds the pseudoclass, false removes.</param> /// <returns>A disposable used to cancel the subscription.</returns> public static IDisposable Set(this IPseudoClasses classes, string name, IObservable <bool> trigger) { Contract.Requires <ArgumentNullException>(classes != null); return(trigger.Subscribe(x => classes.Set(name, x))); }
/// <summary> /// Sets a pseudoclass depending on an observable trigger. /// </summary> /// <param name="classes">The pseudoclasses collection.</param> /// <param name="name">The name of the pseudoclass to set.</param> /// <param name="trigger">The trigger: true adds the pseudoclass, false removes.</param> /// <returns>A disposable used to cancel the subscription.</returns> public static IDisposable Set(this IPseudoClasses classes, string name, IObservable <bool> trigger) { _ = classes ?? throw new ArgumentNullException(nameof(classes)); return(trigger.Subscribe(x => classes.Set(name, x))); }