Skip to content

sk8tz/Gu.Reactive

 
 

Repository files navigation

Gu.Reactive

License NuGet Build status ![Gitter](https://badges.gitter.im/Join Chat.svg) A collection of useful classes that uses System.Reactive

ObservePropertyChanged:

var subscription = fake.ObservePropertyChanged(x => x.Next.Value)
					   .Subscribe(...);
  1. Listens to nested changes. All steps in the property path must be INotifyPropertyChanged. Throws if not.

  2. Updates subscriptions for items in path and uses weak events. Tested for memory leaks.

  3. Refactor friendly cos lambdas.

ObserveItemPropertyChanged

var subscription = collection.ObserveItemPropertyChanged(x => x.Name)
							 .Subscribe(...);
  1. Listens to changes using ObservePropertyChanged
  2. Removes subscriptions for elements that are removed from the collection and adds subscription to new elements.

Composes

fake.ObservePropertyChangedWithValue(x => x.Collection)
	.ItemPropertyChanged(x => x.Name)
	.Subscribe(_changes.Add);

Conditions:

Se demo code

Commands

  • Not using CommandManager for raising CanExecuteChanged. Weak events & tests for memory leaks.
  • Typed parameters or no parameter.
  • ManualRelayCommand & ManualRelayCommand
  • RelayCommand & RelayCommand
  • ObservingRelayCommand
  • ConditionRelayCommand & ConditionRelayCommand

FilteredView

  • No more CollectionViewSource in code.
  • Typed so you get intellisense in xaml.
  • Takes Filter<T, bool> and params IObservable for max composability.

    License

    Gu.Reactive is licensed under the MIT license. See License.md for the full license text, or at opensource.org if the license file was not provided.

About

A collection of useful classes that uses System.Reactive

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 99.8%
  • Other 0.2%