ReactiveProperty

ReactiveProperty provides MVVM and asynchronous support features under Reactive Extensions. Target frameworks are .NET 6+, .NET Framework 4.7.2 and .NET Standard 2.0.

MIT License

Stars
870
Committers
29

Bot releases are hidden (Show)

ReactiveProperty - Release v9.3.4

Published by runceel 12 months ago

  • Fix event handler unsbscription leaks #450
  • Fix deadlock on ReactivePropertyWpfScheduler #452
ReactiveProperty - Release v9.3.3

Published by runceel about 1 year ago

Fix

  • Detach PropertyChanged events on Dispose #445
ReactiveProperty - Release v9.3.2

Published by runceel about 1 year ago

  • Performance improvment for FilteredReadOnlyObservableCollection.
ReactiveProperty - v7.4.0

Published by runceel about 4 years ago

Add

  • Add ReactivePropertyScheduler.SetDefaultSchedulerFactory method to set custom logic to create an IScheduler instance to dispatch events to UI thread.
ReactiveProperty - v7.3.0

Published by runceel about 4 years ago

Add

  • Add ToReactivePropertySlimAsSynchronized extension method to INotifyPropertyChanged.
ReactiveProperty - v7.2.1

Published by runceel about 4 years ago

Fixes

  • Issue #177, PR #178 The issue that the CollectionChanged event raised from ObservableCollection changes with ReadOnlyReactiveCollection
ReactiveProperty - v7.2.0

Published by runceel about 4 years ago

Add

  • DisposePreviousValue extension method to IObservable<T>. Please see the issue #166 .
ReactiveProperty - v7.1.0

Published by runceel over 4 years ago

Changes

  • ObserveProperty's behavior changed calling OnNext when PropertyChanged with an empty property name
ReactiveProperty - v7.0.1

Published by runceel over 4 years ago

This update is no feature changes.

  • Fix #155 Some properties of Assembly file deleted in Ver 7.0.0
ReactiveProperty - v7.0.0

Published by runceel over 4 years ago

This is a major version up. There is a breaking change.
Please check the release note before updating it.

Breaking changes

  • A ReadOnlyReactiveProperty created from a completed IObservable never call OnNext callback, just call OnCompleted callback. In version 6, it had called OnNext callback even if the source IObservable was finished.
    If you would like to subscribe a value completed ReadOnlyReactiveProperty, then please use OnCompleted callback like below:
    var completedReadOnlyReactiveProperty = Observable.Return("1").ToReadOnlyReactiveProperty();
    completedReadOnlyReactiveProperty.Subscribe(
      // OnNext callback. Because it was created from completed IObservable, the OnNext callback is never called in this case.
      x => DoSomething(x), 
      // OnCompleted callback, it will be called.
      () => DoSomething(completedReadOnlyReactiveProperty.Value);
    
  • Separate the NuGet package to each platforms. The new packages are following:
    • ReactiveProperty
    • ReactiveProperty.Core
    • ReactiveProperty.WPF
    • ReactiveProperty.UWP
    • ReactiveProperty.XamarinAndroid
    • ReactiveProperty.XamariniOS

If you didn't use platform-specific features such as EventToReactiveCommand and EventToReactiveProperty on your code, then please use continuously ReactiveProperty package on v7.
If you used those features(It occurs as compile errors when updating the package), please add a package for the platform you are using.

And also, you have to change xmlns like below:

<!-- for WPF on .NET Framework on ReactiveProperty v6.2.0 or earlier -->
xmlns:rp="clr-namespace:Reactive.Bindings.Interactivity;assembly=ReactiveProperty.NET46"
<!-- for WPF on .NET Core on ReactiveProperty v6.2.0 or earlier -->
xmlns:rp="clr-namespace:Reactive.Bindings.Interactivity;assembly=ReactiveProperty.NETCore"

<!-- for WPF on .NET Core and Framework on ReactiveProperty v7.0.0 or lator -->
xmlns:rp="clr-namespace:Reactive.Bindings.Interactivity;assembly=ReactiveProperty.WPF"

Add

  • Add ObserveValidationErrorMessage extension method to ReactiveProperty class. This is a shortcut for rp.ObserveErrorChanged.Select(x => x?.OfType<string>()?.FirstOrDefault()).

Perfomance improvement

ReactiveProperty and ReadOnlyReactiveProperty become 40% faster than v6.

ReactiveProperty - v6.2.0

Published by runceel almost 5 years ago

Added

  • Localization support and placeholder support for DataAnnotations. #137

Thank you for your feedback @onodera-sf and @soi013 !

ReactiveProperty - v6.1.4

Published by runceel almost 5 years ago

Changes

  • Update System.Reactive to 4.2.0 from 4.1.5
  • Update Microsoft.Xaml.Behaviors.Wpf to 1.1.3 from 1.0.1
  • IReactiveProperty interface became to inherit IReadOnlyReactiveProperty. Thank you @shanon-hs #131
  • ReactiveProperty is officially support to WPF on .NET Core 3.0, because Microsoft.Xaml.Behaviors.Wpf became to support .NET Core.
ReactiveProperty - v6.1.3

Published by runceel about 5 years ago

This release is for fixing a binary breaking change at #109 and updating A value of AssemblyVersion is to correctly.

  • Restore AsyncReactiveCommand(IObservable) Method #128
    Thank you @mimtari.
ReactiveProperty - v6.1.2

Published by runceel about 5 years ago

Changes

NuGet package

  • Add a package dependency System.ComponentModel.Annotations to net461 and netcoreapp3.0. #125

New features

  • Add BindTo extension methods to ReactivePropertySlim, ReadOnlyReactivePropertySlim and ReadOnlyReactiveProperty. #122 .
  • Add Awaiter of ReactiveProperty and ReactivePropertySlim. #124

Thank you for your help @soi013, @s520 and @toras9000 .

ReactiveProperty - v6.0.2

Published by runceel about 5 years ago

Add to support WPF on .NET Core 3.0.

Changes

  • Before this release, EventToReactiveCommand and EventToReactiveProperty couldn't be used on WPF on .NET Core 3.0. This release is supported those classes on WPF on .NET Core 3.0.

If you would like to use EventToReactiveCommand and EventToReactiveProperty, then please add Microsoft.Xaml.Behaviors.Wpf package to your project expricitlly.

ReactiveProperty - v6.0.0

Published by runceel about 5 years ago

There is a breaking change on WPF platform.

Breaking changes

  • Dropped Blend SDK. Please use Microsoft.Xaml.Behaviors.Wpf package to use EventToReactiveCommand and EventToReactiveProperty.
    • Migration steps
      • Remove System.Windows.Interactivity and Microsoft.Expression.Interactions references.
      • If you are using System.Windows.Interactivity or Microsoft.Expression.Interactions namespace in your C# code, then change the namespaces to Microsoft.Xaml.Behaviors.
      • Replace Blend SDK's xml namespace(xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity" and xmlns:ei="http://schemas.microsoft.com/expression/2010/interactions") in your XAML files to xmlns:i="http://schemas.microsoft.com/xaml/behaviors".

New features

  • Add override using Func<IObservable<T>, IObservable<U>> to ToReactivePropertyAsSynchronized extension method.
// Usual method
var reactivePropertyInstance = source.ToReactivePropertyAsSynchronized(x => x.SomeProperty,
  x => convertLogic(x),
  x => convertBackLogic(x));

// New method
var reactivePropertyInstance = source.ToReactivePropertyAsSynchronized(x => x.SomeProperty,
  ox => ox.Select(x => convertLogic(x)),
  ox => ox.Select(x => convertBackLogic(x)));

It means you can filter value using Where method, like below:

var reactivePropertyInstance = source.ToReactivePropertyAsSynchronized(x => x.SomeProperty,
  ox => ox.Select(x => convertLogic(x)),
  ox => ox.Where(x => filterLogic(x)).Select(x => convertBackLogic(x)));
ReactiveProperty - v5.6.0

Published by runceel over 5 years ago

This version is for improvement of AsyncReactiveCommand.

Changes

  • Add sharedCanExecute argument on the ToAsyncReactiveCommand for IObservable<bool>.
ReactiveProperty - v5.5.1

Published by runceel over 5 years ago

This update is only bug fix and updating dependency libraries.

Bug fix

  • Fix the issue #105

Update libraries

  • System.Reactive from v4.1.3 to v4.1.5

The nuget package

https://www.nuget.org/packages/ReactiveProperty/5.5.1

ReactiveProperty - v5.4.0

Published by runceel over 5 years ago

Changes

  • Remove unnecessary dependencies from the nuspec file. #101
  • Improve SetValidateAttribute logic. #103 Thanks, @mimtari .
  • Update System.Reactive to v4.1.3
ReactiveProperty - v5.3.1

Published by runceel almost 6 years ago

Changes

  • Update System.Reactive package to 4.1.2
  • Remove unnecessary dependencies #96 (@soi013)

Other

  • Added document comments all public members #88 #89 #90 #91 #92 #93 #94 #95 (@ChrisPulman)

Known issue

  • When use on Xamarin.Android project, compile error is occurred. Please check the issue: #87

Thank you for all contributes.