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
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Ansight.Tools.Maui" Version="1.7.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Ansight.Tools.Maui" Version="1.7.1" />
                    
Directory.Packages.props
<PackageReference Include="Ansight.Tools.Maui" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Ansight.Tools.Maui --version 1.7.1
                    
#r "nuget: Ansight.Tools.Maui, 1.7.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Ansight.Tools.Maui@1.7.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Ansight.Tools.Maui&version=1.7.1
                    
Install as a Cake Addin
#tool nuget:?package=Ansight.Tools.Maui&version=1.7.1
                    
Install as a Cake Tool

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_page
  • maui.get_visual_tree
  • maui.find_elements
  • maui.get_element
  • maui.get_bindable_property
  • maui.set_bindable_property
  • maui.clear_bindable_property
  • maui.inflate_xaml
  • maui.add_element
  • maui.remove_element
  • maui.set_app_theme
  • maui.get_binding_context
  • maui.get_bindings
  • maui.get_resource_state
  • maui.get_navigation_state
  • maui.invoke_element_action
  • maui.wait_for_ui
  • maui.get_layout_diagnostics
  • maui.get_handler_diagnostics
  • maui.invoke_binding_context_command
  • maui.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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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
Loading failed