RxUIExt.Windsor
1.0.1
dotnet add package RxUIExt.Windsor --version 1.0.1
NuGet\Install-Package RxUIExt.Windsor -Version 1.0.1
<PackageReference Include="RxUIExt.Windsor" Version="1.0.1" />
<PackageVersion Include="RxUIExt.Windsor" Version="1.0.1" />
<PackageReference Include="RxUIExt.Windsor" />
paket add RxUIExt.Windsor --version 1.0.1
#r "nuget: RxUIExt.Windsor, 1.0.1"
#:package RxUIExt.Windsor@1.0.1
#addin nuget:?package=RxUIExt.Windsor&version=1.0.1
#tool nuget:?package=RxUIExt.Windsor&version=1.0.1
RxUIExt 🧰🪟🐧🍏
Tools and extensions for ReactiveUI that will boost your productivity and app quality. I use this on daily basis, it includes some critical need-to-have tools when dealing with .NET UI frameworks, be it WPF, UWP, WinUI, Uno or Avalonia.
Main Package (RxUIExt)
This is the main multi-platform package. You don't need any bait-and-switch techniques for this, it will just work out of the box (like ReactiveUI does). Some of the tools include:
- Shortcuts like
ObserveOnMainThreadand basicInteraction<,>extensions that are short and small but used thousands of times. - Basic types like
ViewModelandActivatableViewModelthat I use all the time (very little code) SerialReactiveCommanda command which allows serial execution, it automatically cancels the previous execution and starts a new one. I use this a lot when something needs to happen when a user selects something or when I want to allow users to change their minds in the middle of loading and start over. By default,ReactiveCommandhas a double-tap protection, so once invoked, you have to either manually cancel it or wait for it to finish.WhenExecutingwhich ticks aUnitright before theIReactiveCommandstarts executing.- Idiomatic
WhenActivatedextension that also provides aViewModelfor you so it triggers when your viewmodel changes on the view itself. By default you are supposed to recreate the entire view if you change the viewmodel, which is not so very performant in any of the Microsoft's UI frameworks. SubscribeSafewhich makes sure that all exceptions are propagated toRxApp.DefaultExceptionHandler.ViewModelChangeTrackeris an idiomatic mechanism that you can use on your viewmodels to track changes on properties. Very useful in CRUD operations so you know exactly what's changed.
Windsor Integration (RxUIExt.Windsor)
If you, like me, prefer using Castle Windsor for DI, then this will help you easily integrate it with your ReactiveUI app. It offers a built-in IViewLocator implementation and extensions that help you automatically resolve views and viewmodels through Castle's very flexible fluent API.
WinUI Integration (RxUIExt.WinUI)
Basic tooling for WinUI development such as:
- Flexible
BoolConverteraNullConverter, you can do 99% of the UI with just these two since you can set True/Default or Null/NotNull values yourself in XAML or code-behind and just use them with your RxUI viewmodels. - Input dialog extension, similar to the one we had in VB6 days.
ViewHostimplementation that actually works with WinUI. Sadly, the default RxUI one leaves a bit to be desired.
Other?
I will make Avalonia and WPF integrations in the future, covering some basic tools that everyone would use on a daily basis.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net6.0
- Castle.Windsor (>= 6.0.0)
- RxUIExt (>= 1.0.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
- Xmldocs included