{{ message }}
Repository navigation
Tags: reactiveui/ReactiveUI.Binding.SourceGenerators
Tags
fix: dispose the displaced binding when BindCommandUnsafe rebinds (#165) - RuntimeCommandBindingFallback and RuntimeInteractionFallback hold the current binding in a SwapDisposable, so a rebind disposes the binding it replaces. - Add tests for one active binding per call and for disposal after a rebind. - Build the .NET 11 assemblies without runtime-async. Mono does not support it, so it breaks Blazor WebAssembly and other Mono hosts. - Update TUnit to 1.72.16. - Fix the benchmarks for ReactiveUI 25: drop an unused using, and let the generated ToProperty name CountViewModel. Fixes #163
fix: report a runtime property chain's initial value once when a link… … emits on subscribe (#162) - Ignore a link notification raised from inside its own subscribe. The chain reads the same value straight after. - WhenAnyValueUnsafe, WhenChanged and the Unsafe bindings report one initial value through a property with no change notification. - BindUnsafe does not write the view's value back to the view model when the binding is created. Fixes #160
fix: bind a field control to the view's current view model, so a view… … can bind before it has one (#158) A binding whose view side started at a field, such as a control named in XAML, bound the view model instance it was handed and threw when it was null. A field link's owner info now lists the view's ViewModel property, so the binding roots at the view and follows each view model it is given, as a binding onto a property already did.
feat: add Avalonia and Uno binding packages and route view writes thr… …ough Primitives sequencers (#156) * feat: add ReactiveUI.Binding.Avalonia and route view writes through Primitives sequencers Add the ReactiveUI.Binding.Avalonia and ReactiveUI.Binding.Avalonia.Reactive packages. They register a trim-safe Avalonia property observer, the Avalonia command binder and AvaloniaViewThreadInvoker through AvaloniaBindingModule and WithAvalonia(). The generator routes writes to an AvaloniaObject through that invoker. Add SequencerViewThreadInvoker<TTarget, TSequencer>, which asks the ReactiveUI.Primitives sequencer that owns an object for thread access and schedules writes on it. The WPF, WinForms, MAUI and Avalonia invokers derive from it, keeping their names, Instance and priorities. * feat: add ReactiveUI.Binding.Uno and build Uno projects through their own solution filter Add ReactiveUI.Binding.Uno and ReactiveUI.Binding.Uno.Reactive. UnoBindingModule and WithUno() register UnoViewThreadInvoker, which routes writes to an Uno control through the DispatcherQueueSequencer of the queue that owns it. The generator carries the invoker for Microsoft.UI.Xaml.DependencyObject targets when the package is referenced, and reports no RXUIBIND017 for WinUI, which shares that type. The Uno.Sdk projects sit in ReactiveUI.Binding.SourceGenerators.Uno.slnf and CI builds them with MSBuild in their own Windows job; everything else builds from ReactiveUI.Binding.SourceGenerators.slnf. ReactiveUI.Primitives moves to 8.4.0. * build: let Visual Studio's MSBuild use the preview .NET SDK the dotnet CLI already uses * fix: build the Uno Windows head without the Uno global usings it has no package for * fix: drop the Windows platform attribute from the Uno baselines, which Uno.Sdk does not emit * chore(deps): update TUnit and PublicApiSharp.Analyzers * fix: include the shared polyfills with a valid glob, which Visual Studio's MSBuild rejects as a path
feat: generate bindings for controls named in MAUI and Avalonia XAML (#… …148) - Read the XAML pages MAUI and Avalonia pass to generators, and declare the fields their generators write. - Bind, OneWayBind, BindCommand and the rest now dispatch for x:Name controls instead of reporting RXUIBIND021. - WPF and WinUI fields are written before compilation and were already visible; a WPF test confirms it. - Add a xaml docs page.
feat: generate bindings for members ReactiveUI.SourceGenerators writes ( #146) - Read [Reactive], [ReactiveCollection], [BindableDerivedList], [ReactiveCommand] and [IReactiveObject] by metadata name. - Declare what each writes in a private copy of the compilation that call sites are read from. - Add RXUIBIND021: a binding call with no generated binding throws at run time. - Add a sourcegenerators docs page, and rewrite the example that called a stub to show its exception.
feat: map a view from the service locator under its own contract (#145) - Add MapFromServiceLocator<TViewModel, TView>(contract, serviceContract). - A contracted IViewFor<T> registration was unreachable: the lookup always used no contract. - The existing overloads keep asking with no contract.
PreviousNext
