Example #1
0
 /// <summary>
 /// Converts PropertyChanged to an observable sequence.
 /// </summary>
 public static IObservable <PropertyChangedEventArgs> PropertyChangedAsObservable <T>(this T subject)
     where T : INotifyPropertyChanged =>
 InternalObservable.FromEvent <PropertyChangedEventHandler, PropertyChangedEventArgs>(
     h => (sender, e) => h(e),
     h => subject.PropertyChanged += h,
     h => subject.PropertyChanged -= h);
Example #2
0
 /// <summary>
 /// Converts CanExecuteChanged to an observable sequence.
 /// </summary>
 public static IObservable <EventArgs> CanExecuteChangedAsObservable <T>(this T source)
     where T : ICommand =>
 InternalObservable.FromEvent <EventHandler, EventArgs>(
     h => (sender, e) => h(e),
     h => source.CanExecuteChanged += h,
     h => source.CanExecuteChanged -= h);
Example #3
0
 /// <summary>
 /// Converts ErrorsChanged to an observable sequence.
 /// </summary>
 public static IObservable <DataErrorsChangedEventArgs> ErrorsChangedAsObservable <T>(this T subject)
     where T : INotifyDataErrorInfo =>
 InternalObservable.FromEvent <EventHandler <DataErrorsChangedEventArgs>, DataErrorsChangedEventArgs>(
     h => (sender, e) => h(e),
     h => subject.ErrorsChanged += h,
     h => subject.ErrorsChanged -= h);
Example #4
0
 /// <summary>
 /// Converts CollectionChanged to an observable sequence.
 /// </summary>
 public static IObservable <NotifyCollectionChangedEventArgs> CollectionChangedAsObservable <T>(this T source)
     where T : INotifyCollectionChanged =>
 InternalObservable.FromEvent <NotifyCollectionChangedEventHandler, NotifyCollectionChangedEventArgs>(
     h => (sender, e) => h(e),
     h => source.CollectionChanged += h,
     h => source.CollectionChanged -= h);