CodeWF.AvaloniaControls.ProDataGrid
12.0.2.1
dotnet add package CodeWF.AvaloniaControls.ProDataGrid --version 12.0.2.1
NuGet\Install-Package CodeWF.AvaloniaControls.ProDataGrid -Version 12.0.2.1
<PackageReference Include="CodeWF.AvaloniaControls.ProDataGrid" Version="12.0.2.1" />
<PackageVersion Include="CodeWF.AvaloniaControls.ProDataGrid" Version="12.0.2.1" />
<PackageReference Include="CodeWF.AvaloniaControls.ProDataGrid" />
paket add CodeWF.AvaloniaControls.ProDataGrid --version 12.0.2.1
#r "nuget: CodeWF.AvaloniaControls.ProDataGrid, 12.0.2.1"
#:package CodeWF.AvaloniaControls.ProDataGrid@12.0.2.1
#addin nuget:?package=CodeWF.AvaloniaControls.ProDataGrid&version=12.0.2.1
#tool nuget:?package=CodeWF.AvaloniaControls.ProDataGrid&version=12.0.2.1
CodeWF.AvaloniaControls
An open-source Avalonia control repository based on .NET 11 and Avalonia 12, including reusable libraries, legacy free-grid compatibility helpers, and runnable samples.
English | 简体中文
Install
Install-Package CodeWF.AvaloniaControls
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 packageCodeWF.AvaloniaControls.Dock: Dock extension controls styled for the Semi theme lineCodeWF.AvaloniaControls.ProDataGrid: open-source high-performance grid helper package built onProDataGridCodeWF.Markdown: Markdown rendering control with code highlighting, image preview, and incremental renderingCodeWF.Markdown.Themes: defaultMarkdownViewertemplates and typography theme resources
Legacy free DataGrid / TreeDataGrid line
CodeWF.AvaloniaControls.DataGridstays on the last free officialAvalonia.Controls.DataGrid/Avalonia.Controls.TreeDataGridline- The legacy compatibility projects keep explicit package versions in their own
.csprojfiles instead of adding conditional branches to the central package manager
Markdown Viewer Usage
Install the renderer and theme packages:
dotnet add package CodeWF.Markdown
dotnet add package CodeWF.Markdown.Themes
Register the default style and typography resources in App.axaml:
<Application
xmlns="https://github.com/avaloniaui"
xmlns:markdownThemes="https://codewf.com">
<Application.Styles>
<FluentTheme />
<markdownThemes:MarkdownThemes TypographyTheme="Simple" />
</Application.Styles>
</Application>
Use MarkdownViewer from a page. The viewer only accepts the Markdown input property; legacy aliases are not kept:
<UserControl
xmlns="https://github.com/avaloniaui"
xmlns:md="https://codewf.com">
<ScrollViewer
HorizontalScrollBarVisibility="Disabled"
VerticalScrollBarVisibility="Auto">
<md:MarkdownViewer Markdown="{Binding Markdown}" />
</ScrollViewer>
</UserControl>
Switch typography resources at runtime:
MarkdownThemes.OverrideTypographyResources(
Application.Current!,
MarkdownTypographyThemes.BlueGlow);
Handle CodeBlockToolRender to add custom code-block actions:
<md:MarkdownViewer
Markdown="{Binding Markdown}"
CodeBlockToolRender="OnCodeBlockToolRender" />
private void OnCodeBlockToolRender(object? sender, CodeBlockToolRenderEventArgs e)
{
e.HeaderPanel.Children.Add(new Button { Content = "Run" });
}
MarkdownViewer supports headings, paragraphs, lists, task lists, quotes, tables, inline code, links, images, and language-tagged code blocks. Code blocks include a copy button, and images open a preview window on click. Relative image paths are resolved from the application base directory by default; when rendering Markdown loaded from another folder, normalize image URLs to absolute paths or file:// URLs before assigning Markdown.
Sample Applications
CodeWF.AvaloniaControls.Showcase: general control showcaseCodeWF.AvaloniaControls.ProDataGridShowcase: functional ProDataGrid sample on Avalonia 12CodeWF.AvaloniaControls.ProDataGridPerformanceDemo: large-dataset, tab-switching, and document-switching performance sample on Avalonia 12CodeWF.Markdown.Sample: Markdown editing, live preview, typography theme switching, and incremental rendering stress sampleCodeWF.AvaloniaControls.DataGridLegacyDemo: legacy free DataGrid sampleCodeWF.AvaloniaControls.TreeDataGridLegacyDemo: legacy free TreeDataGrid sampleCodeWF.AvaloniaControls.DockDemo,CodeWF.AvaloniaControls.DockPrismDemo,CodeWF.AvaloniaControls.DockReactiveUIDemo: Dock integration samplesCodeWF.AvaloniaControls.FluentStarterDemo: lightweight starter-window sample
Shared Configuration
Directory.Packages.props: central package management for the Avalonia 12 main line and shared package versions such asProDataGridDirectory.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
Prism.DryIoc.Avaloniais pinned to8.1.97.11073because the9.xline is commercialSemi.Avalonia.DataGridandSemi.Avalonia.TreeDataGriduse their last free open-source theme package versionsCodeWF.AvaloniaControls.ProDataGridis based on the MIT-licensed ProDataGrid
Demo
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. |
-
net10.0
- Avalonia (>= 12.0.2)
- ProDataGrid (>= 12.0.0)
- Semi.Avalonia (>= 12.0.1)
- Semi.Avalonia.ProDataGrid (>= 12.0.0)
-
net11.0
- Avalonia (>= 12.0.2)
- ProDataGrid (>= 12.0.0)
- Semi.Avalonia (>= 12.0.1)
- Semi.Avalonia.ProDataGrid (>= 12.0.0)
-
net8.0
- Avalonia (>= 12.0.2)
- ProDataGrid (>= 12.0.0)
- Semi.Avalonia (>= 12.0.1)
- Semi.Avalonia.ProDataGrid (>= 12.0.0)
-
net9.0
- Avalonia (>= 12.0.2)
- ProDataGrid (>= 12.0.0)
- Semi.Avalonia (>= 12.0.1)
- Semi.Avalonia.ProDataGrid (>= 12.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.