XamlToCSharpGenerator.Generator.WPF
0.1.3
dotnet add package XamlToCSharpGenerator.Generator.WPF --version 0.1.3
NuGet\Install-Package XamlToCSharpGenerator.Generator.WPF -Version 0.1.3
<PackageReference Include="XamlToCSharpGenerator.Generator.WPF" Version="0.1.3" />
<PackageVersion Include="XamlToCSharpGenerator.Generator.WPF" Version="0.1.3" />
<PackageReference Include="XamlToCSharpGenerator.Generator.WPF" />
paket add XamlToCSharpGenerator.Generator.WPF --version 0.1.3
#r "nuget: XamlToCSharpGenerator.Generator.WPF, 0.1.3"
#:package XamlToCSharpGenerator.Generator.WPF@0.1.3
#addin nuget:?package=XamlToCSharpGenerator.Generator.WPF&version=0.1.3
#tool nuget:?package=XamlToCSharpGenerator.Generator.WPF&version=0.1.3
XAML Source Generator for WPF (WXSG) Toolset
WXSG replaces WPF's classic XAML/BAML codegen path with Roslyn source generation and emits
typed InitializeComponent() code directly in C#.
This toolset is independent and unaffiliated with Microsoft.
This repo's reference usage is:
vscode-wpf/sample/net6.0-csharp-expressions.
What You Get
- Source-generated
InitializeComponent()for WPF XAML. - Typed
x:Namefields in generated partial classes. - C# expression support in XAML via
{cs: ...}. Preview in .NET MAUI 11. - Simpler XAML support (implicit standard namespaces for WXSG parsing). Preview in .NET MAUI 10.
Quick Start (Project Consumption)
Published package page:
https://www.nuget.org/packages/XamlToCSharpGenerator.Generator.WPF
- Add WXSG package reference:
<ItemGroup>
<PackageReference Include="XamlToCSharpGenerator.Generator.WPF" Version="0.1.0" PrivateAssets="all" />
</ItemGroup>
- Enable WXSG in your
.csproj:
<PropertyGroup>
<UseWPF>true</UseWPF>
<WpfXsgEnabled>true</WpfXsgEnabled>
</PropertyGroup>
That is enough for normal package usage because the package ships buildTransitive props/targets.
Local Package Development Flow (Optional, Advanced)
When developing WXSG from source (as in vscode-wpf), use a local package feed:
<PropertyGroup>
<RestoreSources>$(MSBuildProjectDirectory)\..\..\artifacts\local-packages;$(RestoreSources)</RestoreSources>
</PropertyGroup>
Pack locally:
dotnet pack src\XamlToCSharpGenerator.Generator.WPF\XamlToCSharpGenerator.Generator.WPF.csproj -c Debug -o artifacts\local-packages
Then restore/build:
dotnet restore sample\net6.0-csharp-expressions\sample.csproj --no-cache
dotnet build sample\net6.0-csharp-expressions\sample.csproj
XAML Example
From the sample:
<Window xmlns:local="clr-namespace:sample"
x:Class="sample.MainWindow"
Title="{cs: string.Concat("WXSG — ", "C# Expressions + Simpler XAML")}"
Width="{cs: 520}"
Height="{cs: 420}">
<Window.Resources>
<local:GreetingViewModel x:Key="Vm" />
</Window.Resources>
<Grid DataContext="{StaticResource Vm}" Margin="20">
<TextBlock x:Name="GreetingLabel" Text="{Binding Greeting}" />
</Grid>
</Window>
Notes
xmlns:local="clr-namespace:YourNamespace"is still needed when referencing your own CLR types (for example view models inWindow.Resources), unless you declare an equivalent global prefix.- Simpler XAML here means you can omit repeated standard header declarations in WXSG input while still keeping normal WPF semantics.
License
MIT
Copyright
2026 (c) LeXtudio Inc. All rights reserved.
Learn more about Target Frameworks and .NET Standard.
This package has 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.