-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Closed
Labels
.NETComponents which are .NET based (non UWP specific)Components which are .NET based (non UWP specific)feature request 📬A request for new changes to improve functionalityA request for new changes to improve functionalityopen discussion ☎️
Milestone
Description
Overview
This issue is meant to be used to track all the feature requests and discussions regarding API changes or other tweaks for the Microsoft.Toolkit.Mvvm package, which was introduced with #3230 and recently announced. 🎉
Find initial docs and samples here at https://aka.ms/mvvmtoolkit.
Key Tenants
- Platform and Runtime Independent - .NET Standard 2.0 🚀 (UI Framework Agnostic)
- Simple to pick-up and use - No strict requirements on Application structure or coding-paradigms (outside of 'MVVM'ness) i.e. flexible usage
- À la carte - Developer able to choose the components they wish to leverage
- Reference Implementation - Lean and performant, provides compliments to interfaces and paradigms hinted at in the Base-Class Library, but without provided implementations.
If you want more info on the package, you're welcome to browse our samples and preview documentation (here), watch the initial presentation by @michael-hawker and I (here) or watch Michael's presentation during the UNO Conf (here).
Tracking changes so far
Will be updating this list with all the current (work in progress) changes that are being included into a PR.
Preview 5 (#3562)
- Added
ObservableValidator.ClearErrorsmethod - Added
ObservableValidator.ValidatePropertymethod - Added
ObservableValidator.ValidateAllPropertiesmethod - Added generic
ObservableValidator.GetErrorsmethod - Speed/memory optimizations to
WeakReferenceMessengeron .NET Standard 2.0
Preview 4 (#3527)
- Reintroduced
Iocclass (see docs) - Added new
ObservableObject.OnPropertyChanged(PropertyChangedEventArgs)overload - Added new
ObservableObject.OnPropertyChanging(PropertyChangingEventArgs)overload - The
OnPropertyChangedandOnPropertyChangingoverloads with astringparam are no longer virtual - Added notification support to
IAsyncRelayCommand.CanBeCanceledproperty - Improved notification logic for other
IAsyncRelayCommandproperties - Added notification support to
ObservableValidator.HasErrorsproperty - Added new
TrySetPropertymethods toObservableValidator - Minor performance/memory usage improvements and bug fixes
Preview 3 (shipped!) 🚀
ComponentModel, Input, DependencyInjection (#3429)
- New
ObservableValidatorclass forINotifyDataErrorInfo - Changed
SetPropertyAndNotifyOnCompletionsignature (7-14x faster, 60% memory usage reduction) - Changed signature of APIs, ditched
Expression<Func<T>>args - Added new
SetProperty<T, TModel>overload to allow stateless delegates and better performance - Added cancelation support to
AsyncRelayCommandtypes (and interfaces) - Improved XML docs with info about exceptions being thrown by the various APIs
- Removed
Iocclass andMicrosoft.Extensions.DependencyInjectiondependency
Messenger (#3424)
- Added a new
WeakReferenceMessengertype - Renamed
MessengertoStrongReferenceMessenger - Memory usage and performance improvements to
StrongReferenceMessenger - Changed
IMessenger.Registersignature to remove closures (35% memory usage reduction, nothiscaptured) - Added
IMessenger.CleanupAPI to help with extensibility - Changed default messenger for
ObservableRecipienttoWeakReferenceMessenger
timunie, bdovaz, Mrxx99, marinasundstrom, laurentkempe and 3 moretimunie, Mrxx99, RaoHammas, marinasundstrom and laurentkempe
Metadata
Metadata
Assignees
Labels
.NETComponents which are .NET based (non UWP specific)Components which are .NET based (non UWP specific)feature request 📬A request for new changes to improve functionalityA request for new changes to improve functionalityopen discussion ☎️