public static IObservable <TProp> WhenAny <TProp>(this IObservablePropertyChanged @this, Expression <Func <TProp> > prop) { var name = Reflex.PropertyName(prop); var func = prop.CompileFast(); return(@this.PropertyChangedObservable.Where(s => s == name).Select(_ => func())); }
public static IObservable <PropertyChangeData> WhenPropertiesChanged(this IObservablePropertyChanged observable, params string[] propertyNames) { if (observable == null) { throw new ArgumentNullException(nameof(observable), $"{nameof(observable)} is null."); } if (propertyNames == null || propertyNames.Length == 0) { throw new ArgumentException($"{nameof(propertyNames)} is null or empty.", nameof(propertyNames)); } return(observable.Changed.ForProperties(propertyNames)); }
public static IObservable <PropertyChangeData> WhenPropertyChanged(this IObservablePropertyChanged observable, string propertyName) { if (observable == null) { throw new ArgumentNullException(nameof(observable), $"{nameof(observable)} is null."); } if (string.IsNullOrEmpty(propertyName)) { throw new ArgumentException($"{nameof(propertyName)} is null or empty.", nameof(propertyName)); } return(observable.Changed.ForProperty(propertyName)); }
public static IObservable <PropertyChangedData> WhenPropertyChanged( this IObservablePropertyChanged changed, string propertyName) => changed.Changed.Where(p => p.PropertyName == propertyName);
public static IObservable <PropertyChangedData <TProperty> > WhenPropertiesChanged <TProperty>( this IObservablePropertyChanged changed, params string[] propertyNames) => changed.Changed.Where(p => propertyNames.Contains(p.PropertyName)).Select(data => (PropertyChangedData <TProperty>)data);
public static IObservable <PropertyChangedData> WhenPropertiesChanged( this IObservablePropertyChanged changed, params string[] propertyNames) => changed.Changed.Where(p => propertyNames.Contains(p.PropertyName));
public static IObservable <PropertyChangedData <TProperty> > WhenPropertyChanged <TProperty>( this IObservablePropertyChanged changed, string propertyName) => changed.Changed.Where(p => p.PropertyName == propertyName).Select(data => (PropertyChangedData <TProperty>)data);
public static IObservable <PropertyChangedData <TProperty> > WhenPropertyChanged <TProperty>(this IObservablePropertyChanged changed, String propertyName) { }
public static IObservable <PropertyChangedData <TProperty> > WhenPropertiesChanged <TProperty>(this IObservablePropertyChanged changed, [ParamArrayAttribute()] String[] propertyNames) { }