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)));