ILNumerics.Community.MAUI 7.0.0.279

There is a newer version of this package available.
See the version list below for details.
dotnet add package ILNumerics.Community.MAUI --version 7.0.0.279
                    
NuGet\Install-Package ILNumerics.Community.MAUI -Version 7.0.0.279
                    
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="ILNumerics.Community.MAUI" Version="7.0.0.279" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="ILNumerics.Community.MAUI" Version="7.0.0.279" />
                    
Directory.Packages.props
<PackageReference Include="ILNumerics.Community.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 ILNumerics.Community.MAUI --version 7.0.0.279
                    
#r "nuget: ILNumerics.Community.MAUI, 7.0.0.279"
                    
#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 ILNumerics.Community.MAUI@7.0.0.279
                    
#: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=ILNumerics.Community.MAUI&version=7.0.0.279
                    
Install as a Cake Addin
#tool nuget:?package=ILNumerics.Community.MAUI&version=7.0.0.279
                    
Install as a Cake Tool

ILNumerics.Community.MAUI

Nuget

Integration package for ILNumerics (http://ilnumerics.net/) scene graphs and plot cubes with .NET Multi-platform App UI (https://dotnet.microsoft.com/apps/maui) framework. ILNumerics.Community.MAUI provides an ILNumerics Panel implementation for .NET MAUI and a set of helper / convenience functions to make embedding ILNumerics scenes into MAUI apps straightforward.

This package makes it easy to host ILNumerics scene graphs and 2D/3D plot cubes inside MAUI applications. The panel acts as a bridge between MAUI's UI system and ILNumerics rendering, allowing you to build interactive visualizations that run on desktop and mobile platforms supported by .NET MAUI.

Note: This package currently uses a software renderer on all platforms. It generally provides a smooth rendering experience for moderate data sizes, but performance may vary per platform and scene complexity.

Compatibility

  • .NET: targets .NET 9.
  • ILNumerics: ILNumerics 7.3+.
  • .NET MAUI: compatible with the .NET MAUI APIs in .NET 9.

Note: Desktop platforms (Windows, Linux, macOS) are working well. There are currently some outstanding issues on mobile platforms; please refer to the issue tracker for details and status updates.

Usage

Add the ILNumerics panel to your user interface (in XAML or in code). The example below shows a simple XAML usage; adjust XML namespaces as appropriate for your project:

<maui:Panel Background="White" x:Name="ilPanel" />

Assign a scene to the panel to render it. A minimal example in C#:

// Create a Scene containing a PlotCube and a Surface. Replace 'B' with your data array.
ilPanel.Scene = new Scene
{
    new PlotCube(twoDMode: false)
    {
        new Surface(tosingle(B), colormap: Colormaps.Jet) { new Colorbar() }
    }
};

// Call Configure so ILNumerics computes bounds and internal state required for rendering.
ilPanel.Scene.Configure();

Notes:

  • Call Configure() on the scene after setup so ILNumerics computes bounds and other internal state required for rendering.
  • Assign a new Scene or modify an existing one to update what is rendered.
  • Use the provided helper functions and the Panel events to integrate with your application input and lifecycle.

Keyboard modifier keys (IModifierKeyService)

For interactive scene manipulation (for example, orbit/pan/zoom with modifier keys), the project provides an IModifierKeyService abstraction and platform-specific implementations under MAUI/Platforms/*.

Short integration steps:

  • Register or resolve IModifierKeyService from your MAUI app's DI container (or construct the platform implementation directly).
  • Use the service from input handlers to query current modifier state when processing touch/keyboard events.

Example (in MauiProgram.cs):

// Register the shared service; platform implementations are provided in the project
builder.Services.AddSingleton<IModifierKeyService, ModifierKeyService>();

See Demo/MAUIDemo for a concrete example of wiring up IModifierKeyService and handling modifier-driven interactions in the demo's input handlers.

Examples and demos

This repository includes demo projects under the Demo/ folder showcasing usage across supported MAUI targets. The MAUIDemo project demonstrates basic integration and typical usage patterns�run it to see concrete examples and to experiment with different scenes and rendering configurations.

License

ILNumerics.Community.MAUI is licensed under the terms of the MIT license (http://opensource.org/licenses/MIT, see LICENSE.txt).

Product Compatible and additional computed target framework versions.
.NET net9.0-android35.0 is compatible.  net9.0-ios18.0 is compatible.  net9.0-maccatalyst18.0 is compatible.  net9.0-windows10.0.19041 is compatible.  net10.0-android was computed.  net10.0-ios was computed.  net10.0-maccatalyst 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 ILNumerics.Community.MAUI:

Package Downloads
ILNumerics.Community.SceneEditor.MAUI

Properties editor for ILNumerics (http://ilnumerics.net/) scene graphs and plot cubes.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
7.1.1.55 102 2/25/2026
7.1.0.35 110 2/5/2026
7.0.0.280 207 10/8/2025
7.0.0.279 208 10/7/2025