Future.UX.SourceGenerators
1.0.0.8
See the version list below for details.
dotnet add package Future.UX.SourceGenerators --version 1.0.0.8
NuGet\Install-Package Future.UX.SourceGenerators -Version 1.0.0.8
<PackageReference Include="Future.UX.SourceGenerators" Version="1.0.0.8" />
<PackageVersion Include="Future.UX.SourceGenerators" Version="1.0.0.8" />
<PackageReference Include="Future.UX.SourceGenerators" />
paket add Future.UX.SourceGenerators --version 1.0.0.8
#r "nuget: Future.UX.SourceGenerators, 1.0.0.8"
#:package Future.UX.SourceGenerators@1.0.0.8
#addin nuget:?package=Future.UX.SourceGenerators&version=1.0.0.8
#tool nuget:?package=Future.UX.SourceGenerators&version=1.0.0.8
Future.UX
Experimental MVVM toolkit + C#14 source generator for ultra-lightweight, boilerplate-free MVVM in WPF.
Quick Start
Features
Auto-generates properties and INotifyPropertyChanged wiring from __-prefixed fields.
Auto-generates concrete RelayCommand and AsyncRelayCommand properties from private __ methods.
Supports CanExecute methods for commands.
Minimal boilerplate – just define your fields & methods, the generator does the rest.
Fully compatible with XAML bindings and CommandParameter.
NEW Theme generator: auto-generate application wide resources for colors, brushes, and styles from a single Dictionary. Brush Extension allows inline tweaks to existing brushes (e.g., change opacity, or brightness).
Example
private static readonly Dictionary<string, Color> __baseColors = new() {
{ "Background",Color.FromArgb(255,30,30,30) },
{ "Foreground", Color.FromArgb(255,220,220,220) },
{ "Primary", Color.FromArgb(255,0,120,215) },
{ "Secondary", Color.FromArgb(255,32,32,32) },
{ "Accent", Color.FromArgb(255,0,153,204) },
{ "Border", Color.FromArgb(255,100,100,100) },
{ "Error", Color.FromArgb(255,232,17,35) },
{ "Warning", Color.FromArgb(255,255,185,0) },
{ "Success", Color.FromArgb(255,16,124,16) }
};
private static void Generated() {
var brush = Theme.GetBrush(ThemeColor.Primary);
var color= Theme.GetColor(ThemeColor.Accent);
var brushExtension=new BrushBaseExtension(baseColor: ThemeColor.Background, alpha: 0.5, brightness:-20);
var modBrush= brushExtension.ProvideValue(null);
var colorExtension = new BrushBaseExtension(baseColor: ThemeColor.Error, alpha: 0.8, brightness: 30, asColor: true);
var modColor = colorExtension.ProvideValue(null);
}
<TextBlock HorizontalAlignment="Center"
VerticalAlignment="Center"
FontSize="30"
Foreground="{t:BrushBase Base=Accent, Alpha=.5, Brightness=0}"
Text=""
Padding="5"
FontFamily="{StaticResource SegoeFluent}"
MouseLeftButtonDown="TextBlock_MouseLeftButtonDown">
<TextBlock.Background>
<LinearGradientBrush StartPoint="1,1"
EndPoint="0,0">
<GradientStop Offset="0"
Color="{t:BrushBase AsColor=True, Base=Background, Alpha=1, Brightness=10}" />
<GradientStop Offset="1"
Color="{t:BrushBase AsColor=True, Base=Background, Alpha=0.75, Brightness=10}" />
</LinearGradientBrush>
</TextBlock.Background>
<TextBlock.Triggers>
<EventTrigger RoutedEvent="MouseEnter">
<BeginStoryboard>
<Storyboard>
<ColorAnimation Storyboard.TargetProperty="Foreground.Color"
To="{t:BrushBase AsColor=True, Base=Accent, Alpha=1, Brightness=50}"
Duration="0:0:0.3" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
<EventTrigger RoutedEvent="MouseLeave">
<BeginStoryboard>
<Storyboard>
<ColorAnimation Storyboard.TargetProperty="Foreground.Color"
To="{t:BrushBase AsColor=True, Base=Accent, Alpha=1, Brightness=0}"
Duration="0:0:0.3" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</TextBlock.Triggers>
</TextBlock>
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.2 | 420 | 12/8/2025 |
| 1.0.1.3 | 362 | 11/21/2025 |
| 1.0.1.2 | 391 | 11/17/2025 |
| 1.0.1.1 | 382 | 11/17/2025 |
| 1.0.1 | 380 | 11/17/2025 |
| 1.0.0.9 | 512 | 11/17/2025 |
| 1.0.0.8 | 228 | 11/16/2025 |
| 1.0.0.7 | 226 | 11/16/2025 |
| 1.0.0.6 | 228 | 11/16/2025 |
| 1.0.0.5 | 228 | 11/16/2025 |
| 1.0.0.4 | 229 | 11/16/2025 |
| 1.0.0.3 | 208 | 11/14/2025 |
| 1.0.0.2 | 229 | 11/14/2025 |
| 1.0.0.1 | 241 | 11/14/2025 |
| 1.0.0 | 238 | 11/14/2025 |