Releases: runceel/ReactiveProperty
Releases · runceel/ReactiveProperty
v6.1.2
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 .
v6.0.2
Add to support WPF on .NET Core 3.0.
Changes
- Before this release,
EventToReactiveCommand
andEventToReactiveProperty
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.
v6.0.0
There is a breaking change on WPF platform.
Breaking changes
- Dropped Blend SDK. Please use
Microsoft.Xaml.Behaviors.Wpf
package to useEventToReactiveCommand
andEventToReactiveProperty
.- Migration steps
- Remove
System.Windows.Interactivity
andMicrosoft.Expression.Interactions
references. - If you are using
System.Windows.Interactivity
orMicrosoft.Expression.Interactions
namespace in your C# code, then change the namespaces toMicrosoft.Xaml.Behaviors
. - Replace Blend SDK's xml namespace(
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
andxmlns:ei="http://schemas.microsoft.com/expression/2010/interactions"
) in your XAML files toxmlns:i="http://schemas.microsoft.com/xaml/behaviors"
.
- Remove
- Migration steps
New features
- Add override using
Func<IObservable<T>, IObservable<U>>
toToReactivePropertyAsSynchronized
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)));
v5.6.0
v5.5.1
v5.4.0
v5.3.1
Changes
Other
Known issue
- When use on Xamarin.Android project, compile error is occurred. Please check the issue: #87
Thank you for all contributes.
v5.3.0
v5.2.0
Update summary
Breaking change
- awaitable
ReactiveProperty
/ReactiveCommand
#80
You can useawait
toReactiveProperty
(includes Slim classes) andReactiveCommand
, then you can wait until value changed, and get the updated value.
The default behavior ofawait
ofIObservable
return a last value. After this update,ReactiveProperty
andReactiveCommand
return a first value.