Skip to main content
.NETStandard2.0

Vetuviem is a Roslyn source generation toolkit for View to ViewModel binding in ReactiveUI to aid in re-usuable binding logic.

Published
Jun 14, 2024
2y ago
Total Downloads
19.3K
19,297

Deprecated Package Version

Reason: Legacy

This has been merged into a single generator. Switch and use <Vetuviem_UI_Framework>Wpf<Vetuviem_UI_Framework> in your csproj file.

Suggested alternative:Vetuviem.SourceGenerator*

Install

dotnet add package Vetuviem.WPF.SourceGenerator --version 0.10.18
ProductVersions
.NET Standard
netstandard2.0

README

Vetuviem

Vetuvium is a toolkit to support View to View Model binding (MVVM -> V2VM -> Ve-Tu-Viem) aimed at offering a structure to get more re-usability out of ReactiveUI.

Mission Statement

  • To give a mechanism to reduce the amount of boiler plate code being produced, by allowing some of the ReactiveUI specific logic to be hidden away
  • Allow the developer to think along the lines of standard behaviours for controls by offering a way to produce re-usable behaviours through a class and\or function design pattern
  • Allow the developer to focus on what matters on the ViewModel
  • Reduce the cognitive load by
    • Removing the risk of misusing 1 way or 2 way binding
    • Remove the need for the user to think about having to cater for Bind vs BindCommand
  • Offer a structure that allows for more work to be done potentially with Source Generators to reduce reflection and improve the build time developer experience.

Current Status

This is currently a proof of concept alpha. For understanding of the design reasoning please see https://www.dpvreony.com/articles/designing-vetuviem/

Nuget Packages

Purpose Package NuGet
Command Line Generation Coming soon Coming Soon
Visual Studio Integration Vetuviem.SourceGenerator VetuviemSourceGeneratorBadge
Core Functionality Vetuviem.Core VetuviemCoreBadge

An example

Currently to write binding logic in the codebehind you have to write something similar to this for a single control

TODO

But what if you have a way to simplify logic and offer a way to even make it reusable without all the boilerplate leg work?

TODO

Sponsorship

TODO

Support

TODO

Contribute

TODO

Changes from Previous Version

No structural changes between v0.10.17 and v0.10.18.

Adoption Assessment

Assess this package against its supported frameworks, license, maintenance signals and dependency graph before making it a project standard.

NuGet marks this package as deprecated and points to Vetuviem.SourceGenerator as an alternative.Compatibility metadata lists 1 target framework; confirm the exact target used by your application.

Related Guides & Workflows

Learn how to evaluate, integrate, or audit this package in your .NET project.