TestApp.Desktop
52.1.0
dotnet add package TestApp.Desktop --version 52.1.0
NuGet\Install-Package TestApp.Desktop -Version 52.1.0
<PackageReference Include="TestApp.Desktop" Version="52.1.0" />
<PackageVersion Include="TestApp.Desktop" Version="52.1.0" />
<PackageReference Include="TestApp.Desktop" />
paket add TestApp.Desktop --version 52.1.0
#r "nuget: TestApp.Desktop, 52.1.0"
#:package TestApp.Desktop@52.1.0
#addin nuget:?package=TestApp.Desktop&version=52.1.0
#tool nuget:?package=TestApp.Desktop&version=52.1.0
Package Description
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | 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. |
-
net10.0
- Avalonia (>= 12.0.4)
- Avalonia.Controls.ColorPicker (>= 12.0.4)
- Avalonia.Controls.DataGrid (>= 12.0.0)
- Avalonia.Desktop (>= 12.0.4)
- Avalonia.Fonts.Inter (>= 12.0.4)
- Avalonia.Skia (>= 12.0.4)
- Avalonia.Themes.Fluent (>= 12.0.4)
- CSharpFunctionalExtensions (>= 3.6.0)
- JetBrains.Annotations (>= 2025.2.2)
- Optris.Icons.Avalonia (>= 12.0.4)
- Optris.Icons.Avalonia.FontAwesome (>= 12.0.4)
- Optris.Icons.Avalonia.MaterialDesign (>= 12.0.4)
- PanAndZoom (>= 11.3.6)
- ReactiveProperty (>= 9.8.0)
- ReactiveUI (>= 23.1.8)
- ReactiveUI.Avalonia (>= 11.4.12)
- ReactiveUI.Validation (>= 7.0.5)
- Serilog (>= 4.3.0)
- Serilog.Sinks.Console (>= 6.0.0)
- Svg.Controls.Skia.Avalonia (>= 12.0.0)
- TestApp (>= 52.1.0)
- Xaml.Behaviors.Avalonia (>= 12.0.0)
- Xaml.Behaviors.Interactions.DragAndDrop (>= 12.0.0)
- Xaml.Behaviors.Interactions.Draggable (>= 12.0.0)
- Xaml.Behaviors.Interactions.Events (>= 12.0.0)
- Zafiro.Avalonia.Mcp.AppHost (>= 0.0.61)
- Zafiro.UI (>= 47.1.0)
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 |
|---|---|---|
| 52.1.0 | 42 | 5/29/2026 |
| 52.0.7 | 94 | 5/11/2026 |
| 52.0.6 | 90 | 5/11/2026 |
| 52.0.5 | 95 | 5/11/2026 |
| 52.0.4 | 96 | 5/11/2026 |
| 52.0.3 | 97 | 5/5/2026 |
| 52.0.2 | 95 | 5/3/2026 |
| 52.0.1 | 95 | 5/3/2026 |
| 52.0.0 | 93 | 5/1/2026 |
| 51.9.7 | 106 | 5/1/2026 |
| 51.9.6 | 87 | 4/30/2026 |
| 51.9.5 | 90 | 4/30/2026 |
| 51.9.2 | 94 | 4/29/2026 |
| 51.9.0 | 93 | 4/23/2026 |
| 51.8.0 | 100 | 4/23/2026 |
| 51.7.1 | 109 | 4/21/2026 |
| 51.7.0 | 96 | 4/19/2026 |
| 51.6.5 | 98 | 4/19/2026 |
| 51.6.4 | 97 | 4/18/2026 |
| 51.6.3 | 105 | 4/15/2026 |
# Changelog 52.1.0
## Changes since v31.0.11
- Add hierarchical shell sections +semver:minor (`9c305f2`)
- fix: preserve dialog action button labels (`092bd29`)
- fix(dialogs): add dialog action padding +semver: fix (`0afed0d`)
- fix(dialogs): compact dialog actions (`636f91a`)
- fix: tolerate subpixel flex wrap overflow (`764c3a2`)
- fix(frame): show back button on mobile (`0ff9ed0`)
- fix(storage): stream storage files with length metadata (`f943b91`)
- test: cover master details frame back button (`c3a5fc4`)
- Simplify MasterDetailsView navigation +semver:major (`8afabe3`)
- fix(templates): include templates package in solutions (`68c1f98`)
- feat(templates): add Zafiro.Avalonia.Templates with cross-platform 'zafiro-shell' template (`4d7c1e4`)
- fix(SectionStrip): use TemplatedParent binding for true TwoWay SelectedSection (#233) (`ff91fda`)
- fix(FlexPanel): always remeasure children with assigned main-axis size (#231) (`02aa32e`)
- chore(android): migrate TestApp.Android to Avalonia 12 API + enable MCP (`9216adb`)
- chore(deps): bump Zafiro.Avalonia.Mcp.AppHost to 0.0.44 (`6bf951f`)
- Revert "fix(EnhancedButton): IconPresenter visibility should depend on Icon, not Content" (`c25b2b0`)
- fix(EnhancedButton): IconPresenter visibility should depend on Icon, not Content (`8859e3d`)
- Responsive ShellView: sidebar on wide, bottom strip on narrow (#230) (`6cefdc7`)
- feat(icons): add `text:` provider for emoji/glyph icons (#229) (`07f660a`)
- chore: update deployer.yaml for new single-project GitHubPages config (`90d220f`)
- Adaptive content-driven dialog sizing (#228) +semver:minor (`24334ca`)
- chore: update Zafiro.UI to 47.0.4 (`f776043`)
- fix: DataTypeViewLocatorGenerator registers interface type, not resolved concrete implementation (`66d60fc`)
- feat: add Color editor to PropertyGrid using Avalonia ColorPicker (#226) (`2a7d776`)
- Remove Avalonia.DiagnosticsSupport and developer tools from debug builds. (`b73a26e`)
- docs: add FlowEditor, PropertyGrid, and DragDeltaBehavior to AI documentation (`ae0f498`)
- Release premium features: FlowEditor, PropertyGrid & DragDelta enhancements (#225) (`b65e942`)
- Frame inherits ContentControl instead of TemplatedControl +semver:minor (`f0f287b`)
- chore: migrate deployer.yaml to ValueSourceConfig format (`b1f26a2`)
- chore: retrigger CI (NuGet CDN propagation delay for DotnetDeployer 1.0.17) (`e0d8bb6`)
- chore: retrigger CI for GitHub Pages deploy with fixed DotnetDeployer 1.0.17 (`4e19b18`)
- Fix GitHub Pages deployment: token variable name and git identity +semver:fix (`d09c4e5`)
- Configure GitHub Pages deployment for TestApp Browser (WASM) +semver:fix (`f8b1557`)
- Fix CI: remove non-buildable platform projects from slnx (#221) (`78d4961`)
- Embed MessageDialogViewModel DataTemplate in DialogControl (#220) (`7390618`)
- Replace category button strip with pill-selector ListBox in TestApp (#219) +semver:fix (`2b74ed2`)
- Update ReactiveUI ecosystem and DiagnosticsSupport for Avalonia 12 +semver:minor (`4207976`)
- chore: add Icons.Optris to .sln for NuGet publishing (`947dd9e`)
- feat!: migrate from Projektanker.Icons.Avalonia to Optris.Icons.Avalonia (#217) (`22f2575`)
- refactor: use Func<IStorageProvider> factory in AvaloniaFileSystemPicker (#216) (`37571e5`)
- feat: Upgrade to .NET 10 (#214) (`9c8984a`)
- feat: Migrate to Avalonia 12 (#213) (`c3f13ed`)
- Add AutoWrapGrid panel (#212) (`aa77740`)
- Add frame header display mode +semver:minor (`582208c`)
- test(flex-panel): add tests for bounded width layouts and unbounded main axis behavior (`cc3bae2`)
- fix: re-measure FlexPanel children after resolving flex grow/shrink (`dbff1a9`)
- Update SectionStrip axaml: streamline namespace usage and bind `ShortName`/`FriendlyName` appropriately (`d5ffd21`)
- chore: bump Zafiro.UI to 47.0.2 +semver:fix (`82f6d81`)
- Enable nullable context in `SectionsRegistrationGenerator` and add test coverage (`507fe4b`)
- Add shortName support to SectionsRegistrationGenerator and tests (`ac0c48d`)
- Update `SimpleSection` to use `Id` instead of `Name` and introduce `ShortName`. Replace `Name` references across the project with `Id` for consistency. Minor cleanup in package formatting and templates. (#210) (`7d74c81`)
- feat: add responsive layout samples (`d6da279`)
- Remove `OverflowBehavior`, `OverflowView`, `OverflowViewModel`, and unused styles and controls (`052d878`)
- Simplify `Blueprint` property usage in `LayoutBreakpoint` and clean up sample `BlueprintPanelView` (`866ba45`)
- Add `BlueprintPanel`: versatile grid layout with responsive breakpoints (`d144e9a`)
- Add `SemanticPanel` for role-based layouts with adaptive Compact, Medium, Expanded views (`aaf86e1`)
- Add conventions for idiomatic `Result<T>` and `Maybe<T>` usage in AGENTS.md and docs (`05bc1a7`)
- Add AGENTS.md with coding guidelines for AI agents and update GitVersion workflow (`3374275`)
- Fix FlexPanel (#209) (`63f0a3c`)
- Add FlexBasisConverter to support string parsing for FlexBasis values (`3d5e1e9`)
- feat(Frame): auto-hide back button on mobile, wire system back gesture (`efd38ad`)
- Improve GraphWizard (#208) (`b649223`)
- Improved TestApp with Sample Gallery (#207) (`a61a076`)
- Add `SmartDockPanelTests` and fix spacing logic in `SmartDockPanel` (`aa6a839`)
- feat(shell)!: Minimalist Shell View & AddZafiroShell shortcut +semver:major (`8b4356e`)
- Improve Notifications (#205) (`49ea543`)
- Add GraphWizard (#204) (`ac48800`)
- feat(dialogs)!: Refactored Dialog API to be strict with Maybe (#203) (`d0424d5`)
- feat(dialogs): allow selecting primary confirmation action (`b3ccec8`)
- Overhaul README and NuGet metadata for discoverability (`942ec3d`)
- Add CommandPool Observability (#202) (`1f4ddee`)
- Add `CommandPool` and `EnqueueCommandAction` for throttled and pooled command execution (`6ec074b`)
- Migrate `EdgePanel` to `SmartDockPanel` for improved layout flexibility (`fdbe441`)
- Add `SmartGrid` control and unit tests (`b53b5ae`)
- Introduce `ClassAssist` and add class forwarding support to `EdgePanel` and `HeaderedContainer` (`7692ec7`)
- Move role-specific button styles to `DialogControl` (`157de72`)
- Replace attached `Role` property with styled property in `EnhancedButton` (`f65272e`)
- Rename `Any` to `NotEmpty` and add `Empty` converter to `Enumerable` (`9c5c46f`)
- Add `FrameStylingView` sample and update Avalonia to `11.3.9` (`e8ea93b`)
- Upgrade `Svg.Controls.Skia.Avalonia` to version `11.3.9.2`. (`d25eb48`)
- Add `BoxShadow` property to `EnhancedButton` and replace `BackgroundOverlappingBorder` with `OverlayBorder` (`cf4ef27`)
- Remove `BackButtonContent` and clean up `Frame.axaml` (`c09652e`)
- Replace `BackButtonContent` with a template-based `Content` setter in `Frame.axaml` (`a6d6de6`)
- Name elements in `Frame.axaml` for improved template targeting (`bdb5f89`)
- Enhance UI components with flexible padding, styling, and samples (#201) (`d723ace`)
- Update command handling and enhance dialog APIs (#200) (`183540f`)
- Introduce `AutoHeaderFooterBehavior` to manage `Frame` header and footer bindings (#199) (`ed7ad83`)
- Add dynamic header and footer support to navigation and wizard components (#198) (`f01d465`)
- Update `Loading` control templates and improve design previews (#196) (`43be2cb`)
- Add TopLevel style with IconOptions.Fill setter (#197) (`f603c6b`)
- Set correct ClipToBounds to allow BoxShadow (#195) (`a72486b`)
- Register sections as transient in generator (#194) (`a3f783d`)
- Add ShowAndGetResult overloads for IValidatable viewModels (#193) (`fc924e0`)
- Replace factory-based initialization in NotificationService (#192) (`a49ba23`)
- Refactor dialog completion handling in AdornerDialog (`b41076e`)
- Bump Zafiro (`39de286`)
- Add `StepKind` property to `PageDesign` and update XAML bindings for `WizardNavigator` (`c647ae4`)
- - Upgrade `coverlet.collector` to 6.0.4. (`b70920a`)
- Simplify `EdgePanel` template by replacing shared size scope columns with `ColumnDefinitions="Auto * Auto"` for clearer layout definition. (`e083799`)
- Introduce advanced styling options for Icon controls and update bindings (`5dcec59`)
- Update Azure Pipelines to use DotnetDeployer for NuGet package publishing (`a8872e6`)
- Add CornerRadius, BorderBrush, and BorderThickness to EdgePanel template (`a928bda`)
- Improve border drawing by using OverlayBorder (`227743e`)
- Improve HeaderedContainer (#191) (`45415c6`)
- Switch to SlimWizard and enhance navigation functionality (#190) (`614b500`)
- Remove Foreground (`c615431`)
- Refine Navigation and Sections (#189) (`230b79d`)
- Implement better sections (#188) (`9c40ea8`)
- Fix resources (`1585db7`)
- Enable SectionStrip customizations (#187) (`66ff28c`)
- Migrate to new zafiro filesystem (#186) (`50a450b`)
- improvements/add-groups-to-shell (#185) (`c715d9b`)
- Add TestApp.Browser and TestApp.Android to solution and improve SectionStrip layout (`bdf83f0`)
- Update SectionGroupView to use `Key` instead of `GroupKey` (`ccdb96b`)
- Fix build by removing unsupported targets (#183) (`5a16f17`)
- Add grouped vertical layout to SectionStrip (#182) (`cc3cb0e`)
- Add section grouping support for TestApp samples (#181) (`23dda4b`)
- Update WASM Site (`06e037f`)
- Improve Commands and LaucherService (#180) (`0356ce1`)
- Remove HorizontalScrollBarVisibility from ScrollViewer (`8fdd5cc`)
- Translate comments and docs to English (#179) (`8a3582b`)
- Integrate titles better with Dialog and Wizard (#177) (`2ebdeca`)
- Refactor global commands into configurable container (#174) (`8702780`)
- Introduce pluggable icon providers and Projektanker integration project (#175) (`c1e3002`)
- Upgrade to newer Zafiro.Section (`a34fb8a`)
- Update `TrueCenterPanel` to calculate `neededWidth` and adjust `finalWidth` based on available size (#173) (`7312c7a`)
- Fix regressions produced by EnhancedButton (#172) (`a68171d`)
- Fix Dialogs. Remove submodule and clean up related functionality (#171) (`ab1f8b1`)
- Improve ProgressControl (#170) (`0db2f5c`)
- Review NotificationService.cs, Commands and Progress (#169) (`7c6c851`)
- Fix wrong usings (`0f3c313`)
- Remove async initialization (`4a14575`)
- Add win icon (`552e0a1`)
- Fix versions bump gone bad +semver:fix (`32865bd`)
- Allow custom Slim wizard cancel logic (#165) (`666e5ae`)
- Update incremental generators and disable diagnostics in WASM (`c69b35c`)
- Update Zafiro version (`dd4e8dc`)
- Remove ICommandSection and IsPrimary; simplify SectionStrip to StackPanel +semver:major (`8b040d8`)
- Use correct Package Tags (`f6da569`)
- Fix OK option to close dialogs successfully (#160) (`67b5943`)
- Add ShowAndGetResult with IEnhancedCommand<Result<T>> #159 (`8bba1dd`)
- Refactor dialog controls and remove obsolete components (#158) (`faff5af`)
- Improve EnhancedButton (#157) (`edc890a`)
- Fix OptimalDisplaydecorator (#156) (`d3a84ac`)
- Improve dialog sizing (#155) (`634ed44`)
- Add adaptive dialog sizing with pluggable strategy pattern +semver:minor (`df2b70a`)
- Fabulous (`1ec0b08`)
- Add BigView dialog and update DialogSampleView for new command (`ddb86c2`)
- Slim Wizard: adopt NextWith/NextWhenValid + bump ZafiroVersion to 35.0.2 (#153) (`7413aff`)
- Add default fallback for DataContext and Value in Cell class - Set DataContext and Value to row item for CellTemplate bindings - Ensure ContentControl displays item's ToString() without a template (`3eca258`)
- Refactor ReactiveSelection to improve item selection logic and add selection count properties (#152) (`24cc6a4`)
- Update ZafiroVersion to 35.0.0 in Directory.Packages.props (`d4d1355`)
- Replace ReactiveButton with EnhancedButton in WizardView and update styles to include EnhancedButton. - Updated WizardView.axaml to use EnhancedButton for launching dialogs and new pages. - Added EnhancedButton style reference in Styles.axaml. (`576c093`)
- Restore (`cd70976`)
- Refactor AutoForegroundConverter to use FallbackBackground property (`71366dc`)
- Unify IconButton and ReactiveButton into EnhancedButton (`24f8ee9`)
- Some fixes before the musgo (`8a101a7`)
- Fix ReactiveButton loading indicator sizing (`b5ab64c`)
- Unify reactive button variants (`08c0b78`)
- Set Background property to Transparent for IconButton, ReactiveButton, and ReactiveIconButton (`25a8ab0`)
- Fix ButtonTheme (`08bf625`)
- Fix regression bug in previous version (`bb75e08`)
- Remove default header templates for ShellSplitView (`1fc75da`)
- Modify IconButton and related components to use consistent resource bindings for Background and Foreground (`aa5a1cb`)
- Attempt to fix WASM (`9147fd0`)
- Add TestApp Icon (`a070928`)
- Use same resources for both light and dark (`08caa0f`)
- Performance and layout fixes (#145) (`bfbf64d`)
- Review ShellView and related components (#144) (`e91230d`)
- Optimize ResponsivePresenter.cs (`070383d`)
- Use DockPanel in IconButtons to allow TextWrap (`3ec9834`)
- Fix CI packaging: centralize README inclusion to avoid duplicates; CPM-friendly SourceLink; disable snupkg for analyzer package to avoid NU5017 (#143) (`b825269`)
- DevOps: add repo nuget.config (nuget.org only) and package READMEs; enable README, SourceLink and symbols in Common.props (#142) (`d9919bd`)
- Decouple source generator: package Zafiro.Avalonia.Generators as analyzer; remove implicit analyzer from Zafiro.Avalonia; add buildTransitive props; conditionally reference generator for local builds (#141) (`e93d16f`)
- Fix ResponsivePresenter not showing (`c8ffb65`)
- refactor(Card): replace ContentPresenter with ContentControl for improved template binding (`c556d3f`)
- ResponsivePresenter: enforce strict template-based hosting (no public Content) (#140) (`7c87341`)
- Fix ResponsivePresenter override for Avalonia 11 and add ResponsivePresenter sample using SlimDataGrid (wide) and ItemsControl (narrow) (#139) (`3e6dfa0`)
- docs(WARP): update guidelines to avoid unnecessary compilation of TestApp.Android to improve build performance (`ab8de90`)
- feat(generator): select concrete implementation for interface x:DataType by view identifier; add diagnostics ZAV0002-ZAV0004 and keep ZAV0001 for multi-view conflicts (`1ddbaf6`)
- Bump Zafiro submodule (`c4494df`)
- Add Sections using Source Generator (#136) (`e45498a`)
- DataTypeViewLocatorGenerator: prefer view whose simple name matches the ViewModel when multiple candidates are found\n\n- Prefer <BaseName>View when multiple views are registered for <BaseName>ViewModel via x:DataType\n- Keep previous fallback (first) if no exact simple-name match is present\n- Update ZAV0001 diagnostic message to reflect the chosen view (#135) (`c06440a`)
- Use latest Zafiro (`aa92e68`)
- Remove old DragAndDropAssembly (`437526a`)
- Include generator and axaml files for Dialogs (#134) (`dbeeaa4`)
- Android AOT: behaviors via Avalonia URI; root Interactions.*; docs update; diagnostics cleanup; path normalization; remove TypeLister (`9976950`)
- feat(ui): add NestedScrollViewerBehavior to SlimWizardControl for improved scrolling (`bde7101`)
- feat(packaging): include source generator DLL in Zafiro.Avalonia NuGet under analyzers/dotnet/cs\n\nThis makes Zafiro.Avalonia implicitly enable Zafiro.Avalonia.Generators for consumers without requiring a separate package. (`1de5b1a`)
- feat(navigation): per-section navigators and simplify Shell/Frame (#129) (`cb15119`)
- Add new View Locators (#131) (`99fbb57`)
- Add Badge (`76bc52e`)
- Improve Empty infrastructure (`21bc09a`)
- Add Count converter (`f8d6d9b`)
- Fix HeaderedContainer names and styles (`16d7749`)
- Use Uri in LaunchUri (`c8e9d32`)
- Improve cards (`c64143b`)
- Add content templates (`ecf8530`)
- Add MorePanels (`de61da8`)
- Add FullLoadingReactiveButton (`69a8811`)
- Merge pull request #126 (`cb05b83`)
- simplyfy-shell-controls (#124) (`ebdf242`)
- Improve Empty contents (`d13b579`)
- Optimize WrapGrid layout and restore Empty class (#123) (`22e0542`)
- Center align StackPanel in Card.axaml (`8baae78`)
- Use StackPanel for Title and Subtitle (`024f9bb`)
- Fix SmartDockPanel (`5153a88`)
- Add WrapGrid (#122) (`551e0f0`)
- Fix dialog inter-Button spacing (`72c1567`)
- Add HeaderAndBodySpacing property and refine Cards (`1d82b00`)
- Fixed SmartDockPanel (`1475dc3`)
- Add SmartDockPanel, fix Cards (#120) (`dde4d3a`)
- Hide content presenters when content is null (`dac9d09`)
- BalancedWrapGrid: respect MaxItemWidth, invalidate layout on property changes, report natural content width and center rows when extra horizontal space is available. Add 2-item sample with MaxItemWidth to PanelsView. (#118) (`de164e1`)
- Replace TransitioningContentControl with ContentControl in ShellSplitView.axaml (`5854c15`)
- Update Avalonia version to 11.3.4 (`7328cfe`)
- Add EdgePanel styles (`d82b5a6`)
- Improve BalancedWrapGrid (#117) (`b872643`)
- Remove wrong colors in SlimDataGrid.axaml (`b9d03a9`)
- Improve SlimDataGrid (#116) (`0f42295`)
- Add Icon extension (`8dcbb05`)
- Improve responsive in DialogControl, styles in HeaderedContainer and add Border.axaml (`510c54a`)
- Update Loading and Button styles for improved visibility and aesthetics (`b772ce5`)
- Review card styles (`9ff5353`)
- Remove Nuke leftovers (`ae88840`)
- Merge pull request #114 (`cdfc739`)
- Update FlexBox to ignore invisible items (`a89f250`)
- Disable release to GitHub temporarily (`283daa1`)
- chore: replace Avalonia.Svg with Svg.Controls.Skia.Avalonia (`0ba7c2d`)
- Give some feedback on transparent button (#113) (`0ebbd3b`)
- chore: update Avalonia version to 11.3.3 (`fd33330`)
- chore: update Zafiro version to 33.0.10 (`182e8fd`)
- Modify EdgePanel (`6aaeff5`)
- Replace Nuke with dotnetdeployer; update Azure Pipelines (#112) (`0b83aae`)
- Cards and EdgePanel responsive goodness (`933c9e4`)