Ansight.Tools.Maui
1.7.1
dotnet add package Ansight.Tools.Maui --version 1.7.1
NuGet\Install-Package Ansight.Tools.Maui -Version 1.7.1
<PackageReference Include="Ansight.Tools.Maui" Version="1.7.1" />
<PackageVersion Include="Ansight.Tools.Maui" Version="1.7.1" />
<PackageReference Include="Ansight.Tools.Maui" />
paket add Ansight.Tools.Maui --version 1.7.1
#r "nuget: Ansight.Tools.Maui, 1.7.1"
#:package Ansight.Tools.Maui@1.7.1
#addin nuget:?package=Ansight.Tools.Maui&version=1.7.1
#tool nuget:?package=Ansight.Tools.Maui&version=1.7.1
Ansight.Tools.Maui
Grouped .NET MAUI inspection and mutation tools for the Ansight .NET SDK.
License
The Ansight SDK is source-available software under the PolyForm Shield 1.0.0. It permits use, modification and redistribution for purposes allowed by the licence, which excludes providing competing products. Local development features require no Ansight account or subscription.
Registered tools:
maui.get_current_pagemaui.get_visual_treemaui.find_elementsmaui.get_elementmaui.get_bindable_propertymaui.set_bindable_propertymaui.clear_bindable_propertymaui.inflate_xamlmaui.add_elementmaui.remove_elementmaui.set_app_thememaui.get_binding_contextmaui.get_bindingsmaui.get_resource_statemaui.get_navigation_statemaui.invoke_element_actionmaui.wait_for_uimaui.get_layout_diagnosticsmaui.get_handler_diagnosticsmaui.invoke_binding_context_commandmaui.set_binding_context_property
Usage
using Ansight;
using Ansight.Tools.Maui;
var options = Options.CreateBuilder()
.WithMauiTools()
.WithReadWriteToolAccess()
.Build();
The visual tree and search tools return MAUI element ids that can be passed to the element, bindable-property, binding, layout, handler, action, wait, XAML experiment, theme, and binding-context tools. Ordinary state changes use ToolPolicy.Write; sensitive or code-invoking operations use ToolPolicy.Critical and require a guard with the matching maximum policy.
Custom controls that render their own child model, such as Mapbox, Skia, or native-hosted controls, can register visual-tree extensions. A child walker exposes additional real MAUI Element children to search and node resolution. A child builder exposes synthetic visual-tree nodes for drawn/native items that are not MAUI elements:
using System.Text.Json.Nodes;
using Ansight.Tools.Maui;
using Microsoft.Maui.Graphics;
var registration = MauiVisualTreeRegistry.RegisterChildBuilder<MyMapView>((mapView, context) =>
mapView.VisibleMarkers.Select(marker => new MauiVisualTreeNode(
context.CreateChildId(marker.Id),
"MyApp.MapMarker")
{
Label = marker.Title,
ZIndex = marker.ZIndex,
Bounds = new Rect(marker.X, marker.Y, marker.Width, marker.Height),
Properties = new JsonObject
{
["layer"] = marker.LayerName,
["selected"] = marker.IsSelected
}
}));
Keep the returned IDisposable for the lifetime of the registration and dispose it to unregister.
Synthetic nodes appear in maui.get_visual_tree; only real Element children returned by a child walker can be resolved later by element mutation or property tools.
maui.inflate_xaml creates and retains a detached MAUI element from an arbitrary XAML string using LoadFromXaml. The returned node id can be passed to maui.add_element to attach it under a live layout or content control, and maui.remove_element can detach it again without restarting the app.
maui.set_app_theme changes Application.Current.UserAppTheme to light, dark, or system at runtime.
These tools are intended for local debugging only. Broad visual-tree labels are PII-safe by default: typed Entry, Editor, and SearchBar text, picker selections, dates, times, toggle states, slider values, and sensitive-looking text are omitted or redacted. Resource values and binding-context property snapshots are opt-in; by default resource inspection returns keys/types and binding-context inspection returns metadata only. Explicit value-reading tools can still reveal app data, binding expressions, binding-context object state, handler metadata, and mutate live UI, app theme, or view-model state.
Build-time remote tool policy
Projects that reference this package are covered by AnsightRemoteToolsPolicy. The default AllowedWithWarnings policy logs detected tool type and assembly details and emits a build warning when remote tools are included. Because this package contains remote tools, Disallowed only succeeds when the package is omitted from that build, for example with Debug-only package references. Use Allowed to bypass remote tool scanning and warnings. Set AnsightLogRemoteTools=false to suppress the detected-tool list.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 is compatible. net9.0-android was computed. net9.0-android35.0 is compatible. net9.0-browser was computed. net9.0-ios was computed. net9.0-ios18.0 is compatible. net9.0-maccatalyst was computed. net9.0-maccatalyst18.0 is compatible. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. 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. |
-
net9.0
- Ansight.Core (>= 1.7.1)
- Ansight.Tools.VisualTree (>= 1.7.1)
-
net9.0-android35.0
- Ansight.Core (>= 1.7.1)
- Ansight.Tools.VisualTree (>= 1.7.1)
- Microsoft.Maui.Controls (>= 9.0.120)
-
net9.0-ios18.0
- Ansight.Core (>= 1.7.1)
- Ansight.Tools.VisualTree (>= 1.7.1)
- Microsoft.Maui.Controls (>= 9.0.120)
-
net9.0-maccatalyst18.0
- Ansight.Core (>= 1.7.1)
- Ansight.Tools.VisualTree (>= 1.7.1)
- Microsoft.Maui.Controls (>= 9.0.120)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Ansight.Tools.Maui:
| Package | Downloads |
|---|---|
|
Ansight.Maui
All-in-one Ansight SDK package for .NET MAUI apps, including core runtime, pairing, remote tools, automatic lifecycle and page-view telemetry, and MAUI inspection tools. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.7.1 | 50 | 10/7/2026 |
| 1.7.0 | 53 | 10/6/2026 |
| 1.6.3 | 102 | 10/1/2026 |
| 1.6.2 | 98 | 10/1/2026 |
| 1.6.1 | 113 | 9/23/2026 |
| 1.6.0 | 119 | 9/17/2026 |
| 1.5.0 | 111 | 9/14/2026 |
| 1.4.0 | 124 | 9/7/2026 |
| 1.4.0-preview.5 | 71 | 8/26/2026 |
| 1.4.0-preview.3 | 76 | 8/25/2026 |
| 1.4.0-preview.1 | 91 | 8/24/2026 |
| 1.3.0-preview.12 | 77 | 8/24/2026 |
| 1.3.0-preview.11 | 83 | 8/23/2026 |
| 1.3.0-preview.10 | 76 | 8/21/2026 |
| 1.3.0-preview.9 | 91 | 8/20/2026 |
| 1.3.0-preview.8 | 88 | 8/20/2026 |
| 1.3.0-preview.6 | 86 | 8/19/2026 |
| 1.3.0-preview.5 | 81 | 8/19/2026 |
| 1.3.0-preview.4 | 92 | 8/17/2026 |
| 1.3.0-preview.3 | 86 | 8/10/2026 |