CodeWF.AvaloniaControls
12.0.3.13
dotnet add package CodeWF.AvaloniaControls --version 12.0.3.13
NuGet\Install-Package CodeWF.AvaloniaControls -Version 12.0.3.13
<PackageReference Include="CodeWF.AvaloniaControls" Version="12.0.3.13" />
<PackageVersion Include="CodeWF.AvaloniaControls" Version="12.0.3.13" />
<PackageReference Include="CodeWF.AvaloniaControls" />
paket add CodeWF.AvaloniaControls --version 12.0.3.13
#r "nuget: CodeWF.AvaloniaControls, 12.0.3.13"
#:package CodeWF.AvaloniaControls@12.0.3.13
#addin nuget:?package=CodeWF.AvaloniaControls&version=12.0.3.13
#tool nuget:?package=CodeWF.AvaloniaControls&version=12.0.3.13
CodeWF.AvaloniaControls
| Name | NuGet | Download |
|---|---|---|
| CodeWF.AvaloniaControls | ||
| CodeWF.AvaloniaControls.Themes |
An open-source Avalonia control repository based on .NET 11 and Avalonia 12, including reusable libraries and runnable samples.
English | 简体中文
Install
Install-Package CodeWF.AvaloniaControls
Install-Package CodeWF.AvaloniaControls.Themes
Add the theme package to your Avalonia application styles:
<Application
xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:codewf="https://codewf.com">
<Application.Styles>
<codewf:CodeWFTheme />
</Application.Styles>
</Application>
Repository Layout
src/: all physical project directories, including NuGet libraries and runnable samplesdocs/: screenshots, GIF assets, and repository documentation assetsartifacts/: package outputs and temporary build artifactspublish/: sample application publish outputs generated by the publish scriptsCodeWF.AvaloniaControls.slnx: logical solution view that groups projects by package line and sample purpose
Package Lines
Avalonia 12 main line
CodeWF.AvaloniaControls: general-purpose custom control APIs, state models, helpers, and drawing logicCodeWF.AvaloniaControls.Themes: control templates and visual resources for the main control package
Markdown packages now live in the standalone CodeWF.Markdown repository.
Legacy free DataGrid / TreeDataGrid packages and samples now live in the standalone CodeWF.AvaloniaControls.DataGrid repository.
Dock packages and samples now live in the standalone CodeWF.AvaloniaControls.Dock repository.
ProDataGrid packages and samples now live in the standalone CodeWF.AvaloniaControls.ProDataGrid repository.
Controls
Guide: multi-step onboarding and feature-tour control for desktop applications.Transfer/SearchListBox: dual-list transfer and searchable list controls.StatusBadge/StatusCard: semantic status labels and health summary cards.CodeWFWindow/CodeWFTitleBar: custom window shell and title bar controls.- TabControl styles, markup helpers, converters, and small drawing helpers.
Guide Control
Guide is built for Avalonia desktop onboarding, feature tours, and contextual hints. It can highlight different controls step by step, render a mask with a transparent target hole, place the guide card around the target, and keep the highlight aligned when layout or window size changes.
Covered scenarios:
- Multi-step navigation with previous, next, finish, and close actions.
- Targeted steps and targetless centered steps.
- Per-step placement, mask visibility, arrow visibility, gap offsets, corner radius, and style type.
- Non-modal hints by setting
IsShowMask="False". - Custom cover content, custom action buttons, and text or dot indicators.
- Delayed target resolution for controls that appear later.
- Targets inside
Menu,Popup, andFlyoutlayers. StepOpeningand opening commands for switching tabs or opening parent menus before a step is resolved.
Basic usage:
<Grid>
<StackPanel Orientation="Horizontal" Spacing="10">
<Button x:Name="UploadButton" Content="Upload file" />
<Button x:Name="SaveButton" Content="Save changes" />
<Button x:Name="MoreButton" Content="More actions" />
</StackPanel>
<codewf:Guide x:Name="BasicGuide" Placement="Bottom" PopupOffset="14">
<codewf:GuideStep
Target="{Binding ElementName=UploadButton}"
Title="Upload file"
Description="Add local files to the processing queue." />
<codewf:GuideStep
Target="{Binding ElementName=SaveButton}"
Placement="Right"
Title="Save changes"
Description="Persist the current workspace." />
<codewf:GuideStep
Target="{Binding ElementName=MoreButton}"
Placement="Top"
Title="More actions"
Description="Continue with export, copy, or batch operations." />
</codewf:Guide>
</Grid>
BasicGuide.GoTo(0);
BasicGuide.Show();
For dynamic menu steps, open the parent menu before resolving the child target and give the popup layer a short layout delay:
<codewf:Guide
x:Name="DynamicGuide"
TargetResolveDelay="00:00:00.220"
StepOpening="DynamicGuide_OnStepOpening">
<codewf:GuideStep
Target="{Binding ElementName=GuideThemeMenu}"
Title="Theme menu" />
<codewf:GuideStep
Target="{Binding ElementName=GuideThemeBlueItem}"
Placement="RightBottom"
Title="Blue theme" />
</codewf:Guide>
private void DynamicGuide_OnStepOpening(object? sender, GuideStepEventArgs e)
{
GuideThemeMenu.IsSubMenuOpen = e.Index is >= 1 and <= 3;
Dispatcher.UIThread.Post(
() => GuideThemeMenu.IsSubMenuOpen = true,
DispatcherPriority.Background);
}
Sample Applications
CodeWF.AvaloniaControlsDemo: runnable showcase for Transfer, VComboBox, TabControl, Guide, StatusBadge, StatusCard, custom windows, and AnimatedImage.
Shared Configuration
Directory.Packages.props: central package management for the Avalonia 12 main lineDirectory.Build.props: shared repository/package metadataDirectory.Build.targets: shared pack-time behavior, including common package metadata defaults and root README/CHANGELOG injection for packable librariesPublish.Common.pubxml: shared publish settingssrc/*/Properties/PublishProfiles/Publish.Project.pubxml: per-project publish supplements such as trimmer root descriptors
Scripts
pack.bat: restore, build, and pack all publishable libraries intoartifacts/packagespublish_all.bat: publish all sample applications intopublish/publishbase.bat: shared publish helper used by the root publish scripts
Changelogs
- Root repository updates are tracked in
CHANGELOG.md - Each project also keeps its own
CHANGELOG.mdunder its project directory for package/sample-specific history
Open Source Notes
- Commercial package lines are intentionally avoided in this repository
Third-Party Open Source Audit
Checked on 2026-05-20 with NuGet metadata, restored project.assets.json, and upstream source/license links. MIT / Apache-2.0 / BSD are preferred.
Remediation:
- Replaced
Semi.Avalonia.AvaloniaEditwith the open-sourceAvalonia.AvaloniaEditpackage. - Removed
AvaloniaUI.DiagnosticsSupportbecause the NuGet package does not publish a clear open-source license or source repository.
| Package | License | Source | Status |
|---|---|---|---|
Avalonia / Avalonia.Desktop / Avalonia.Fonts.Inter / Avalonia.Themes.Fluent |
MIT | https://github.com/AvaloniaUI/Avalonia | Approved |
Avalonia.AvaloniaEdit |
MIT | https://github.com/AvaloniaUI/AvaloniaEdit | Approved |
AnimatedImage.Avalonia |
Apache-2.0 | https://github.com/whistyun/AnimatedImage | Approved |
CodeWF.LogViewer.Avalonia |
MIT | https://github.com/dotnet9/CodeWF.LogViewer | Own open-source package |
CommunityToolkit.Mvvm |
MIT | https://github.com/CommunityToolkit/dotnet | Approved |
Irihi.Ursa.Themes.Semi |
MIT | https://github.com/irihitech/Ursa.Avalonia | Approved |
Lang.Avalonia.Json |
MIT | https://github.com/dotnet9/Lang.Avalonia | Approved |
ReactiveUI.Avalonia |
MIT | https://github.com/reactiveui/reactiveui | Approved |
Semi.Avalonia |
MIT | https://github.com/irihitech/Semi.Avalonia | Approved, only the open core package is used |
VC-LTL |
EPL-2.0 | https://github.com/Chuyu-Team/VC-LTL5 | Source-open; approved under the source-traceable non-preferred license rule |
YY-Thunks |
MIT | https://github.com/Chuyu-Team/YY-Thunks | Approved |
Transitive dependencies from Avalonia/SkiaSharp/ANGLE were checked and are source-open under MIT or BSD-style licenses. No Semi.Avalonia.AvaloniaEdit, Semi.Avalonia.Dock, Semi.Avalonia.ProDataGrid, or AvaloniaUI.DiagnosticsSupport dependency remains in active project files.
Demo
Guide
Transfer
ComboBox
TabControl
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. 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 is compatible. 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 is compatible. 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. net11.0 is compatible. |
NuGet packages (1)
Showing the top 1 NuGet packages that depend on CodeWF.AvaloniaControls:
| Package | Downloads |
|---|---|
|
CodeWF.AvaloniaControls.Themes
Theme resources and control templates for CodeWF.AvaloniaControls. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 12.0.3.13 | 67 | 5/30/2026 |
| 12.0.3.8 | 115 | 5/24/2026 |
| 12.0.3.7 | 120 | 5/23/2026 |
| 12.0.3.6 | 123 | 5/23/2026 |
| 12.0.3.4 | 111 | 5/23/2026 |
| 12.0.3.3 | 101 | 5/20/2026 |
| 12.0.3.2 | 113 | 5/15/2026 |
| 12.0.3.1 | 108 | 5/15/2026 |
| 12.0.2.10 | 133 | 5/11/2026 |
| 12.0.2.9 | 120 | 5/9/2026 |
| 12.0.2.8 | 113 | 5/9/2026 |
| 12.0.2.5 | 116 | 5/9/2026 |
| 12.0.2.4 | 114 | 5/8/2026 |
| 12.0.2.1 | 105 | 5/5/2026 |
| 12.0.2 | 97 | 5/2/2026 |
| 11.3.12.3 | 121 | 3/4/2026 |
| 11.3.12.1 | 124 | 2/13/2026 |
| 11.3.10.4 | 132 | 1/4/2026 |
| 11.3.10.3 | 129 | 12/28/2025 |
| 11.3.10.2 | 116 | 12/27/2025 |