This is set on the source. You don’t always want your values to push as fast as you change them (for example with a slider). Instead, like RX you want them pushing after no changes have been made past a certain time threshold (like 500 milliseconds). It’s beautiful.
You can already bind to static properties. The big change here is a static version of INotifyPropertyChanged! Now you can bind and reflect updates to those values if your backend store should ever update them. This is especially great for ICommand!
Sometimes your View Model is not on the UI thread. That’s actually a pretty practice. This is the solution for that use case. Solves a lot of Dispatcher Post() commands which impact performance in a negative way.
- Ribbon control
- Improved performance when displaying large sets of grouped data
- New features for the VirtualizingPanel
- Binding to static properties
- Accessing collections on non-UI Threads
- Synchronously and Asynchronously validating data
- Automatically updating the source of a data binding
- Binding to types that Implement ICustomTypeProvider
- Retrieving data binding information from a binding expression
- Checking for a valid DataContext object
- Repositioning data as the data's values change (Live shaping)
- Improved Support for Establishing a Weak Reference to an Event
- New methods for the Dispatcher class
- Markup Extensions for Events