SodaFlow.FSharp.Bindable.ObjectModel
2.0.0
See the version list below for details.
dotnet add package SodaFlow.FSharp.Bindable.ObjectModel --version 2.0.0
NuGet\Install-Package SodaFlow.FSharp.Bindable.ObjectModel -Version 2.0.0
<PackageReference Include="SodaFlow.FSharp.Bindable.ObjectModel" Version="2.0.0" />
<PackageVersion Include="SodaFlow.FSharp.Bindable.ObjectModel" Version="2.0.0" />
<PackageReference Include="SodaFlow.FSharp.Bindable.ObjectModel" />
paket add SodaFlow.FSharp.Bindable.ObjectModel --version 2.0.0
#r "nuget: SodaFlow.FSharp.Bindable.ObjectModel, 2.0.0"
#:package SodaFlow.FSharp.Bindable.ObjectModel@2.0.0
#addin nuget:?package=SodaFlow.FSharp.Bindable.ObjectModel&version=2.0.0
#tool nuget:?package=SodaFlow.FSharp.Bindable.ObjectModel&version=2.0.0
SodaFlow Bindable Object Model library for F#.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. 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. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 is compatible. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETFramework 4.7.2
- FSharp.Core (>= 4.5.2)
- SodaFlow.Bindable.ObjectModel.Core (>= 2.0.0 && < 3.0.0)
- SodaFlow.FSharp (>= 3.0.0 && < 4.0.0)
-
.NETStandard 2.0
- FSharp.Core (>= 4.5.2)
- SodaFlow.Bindable.ObjectModel.Core (>= 2.0.0 && < 3.0.0)
- SodaFlow.FSharp (>= 3.0.0 && < 4.0.0)
-
net6.0
- FSharp.Core (>= 4.5.2)
- SodaFlow.Bindable.ObjectModel.Core (>= 2.0.0 && < 3.0.0)
- SodaFlow.FSharp (>= 3.0.0 && < 4.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
2.0.0
No code change. This release exists to move a dependency, and is a major
version because of what moving it does to a consumer.
Dependencies between these packages are now declared as ranges bounded at
the next major, so NuGet refuses a pairing which would fail rather than
resolving it and leaving the failure until the code runs. This package now
requires SodaFlow.FSharp 3.x and SodaFlow.Bindable.ObjectModel.Core 2.x.
That ceiling is why this is not a minor version. Taking this release obliges
a consumer to take those majors as well, and one who names SodaFlow.FSharp
directly, or who uses anything removed there, cannot adopt it without
changing their own code. A version they cannot adopt is not a minor one.
1.0.0
First release.
Exposes an FRP graph to a XAML binding engine, so a view model can hold cells
and streams and let WPF or Avalonia bind to them directly.
Bindable.oneWay cell a read-only observable property
Bindable.twoWay cell editsSink the view writes, the graph decides
Bindable.twoWayCS cellSink the same, where the sink is the graph
Bindable.oneWayToSource sink initial control state pushed into the graph
Bindable.toBindableAction sink an ICommand carrying no parameter
Bindable.toBindableActionWithValue sink an ICommand carrying its parameter
Each has WithComparer, WithScheduler and WithComparerAndScheduler variants; the
command functions take AndIsEnabledCell to drive enablement from a Cell<bool>.
BindableFactory takes an optional IBindingScheduler for injection, which is how
a test substitutes BindingScheduler.Immediate for a real dispatcher.
The binding path is {Binding SomeProperty.Value} - the property name raised on
PropertyChanged is always "Value".
A two-way value is optimistic: it shows the write immediately so it does not
fight the caret, then reconciles against the cell once the graph settles,
correcting anything the graph normalized or rejected.
Bindables may be constructed on any thread, so a view model needs no knowledge
of the binding thread. Every one of them is IDisposable and holds a weak
subscription, so a bindable that becomes unreachable without being disposed is
collected rather than rooted for the lifetime of the sink it observes. Writes
never reach a sink from inside a callback.
Depends on SodaFlow.FSharp and SodaFlow.Bindable.ObjectModel.Core, so installing
this brings the FRP operations along with it.
Full notes: https://github.com/MorseCode-Software/SodaFlow/releases