Soenneker.Maui.Blazor.Bridge
4.0.585
Prefix Reserved
dotnet add package Soenneker.Maui.Blazor.Bridge --version 4.0.585
NuGet\Install-Package Soenneker.Maui.Blazor.Bridge -Version 4.0.585
<PackageReference Include="Soenneker.Maui.Blazor.Bridge" Version="4.0.585" />
<PackageVersion Include="Soenneker.Maui.Blazor.Bridge" Version="4.0.585" />
<PackageReference Include="Soenneker.Maui.Blazor.Bridge" />
paket add Soenneker.Maui.Blazor.Bridge --version 4.0.585
#r "nuget: Soenneker.Maui.Blazor.Bridge, 4.0.585"
#:package Soenneker.Maui.Blazor.Bridge@4.0.585
#addin nuget:?package=Soenneker.Maui.Blazor.Bridge&version=4.0.585
#tool nuget:?package=Soenneker.Maui.Blazor.Bridge&version=4.0.585
Soenneker.Maui.Blazor.Bridge
Effortlessly integrate MAUI components within BlazorWebView, enabling seamless interaction between Blazor and native MAUI UI elements.
Features
- Embed MAUI components directly inside BlazorWebView like HTML elements.
- Maintain a structured overlay system for native elements.
- Provides typed and generic bridges for flexible component integration.
Installation
Install the package via NuGet:
dotnet add package Soenneker.Maui.Blazor.Bridge
Register the interop in CreateMauiApp:
public static MauiApp CreateMauiApp()
{
var builder = MauiApp.CreateBuilder();
builder.Services.AddMauiBlazorBridgeAsScoped();
}
Layout Setup
To integrate MAUI components within BlazorWebView, modify your MainPage.xaml.
Wrap the BlazorWebView inside a Grid, and include an AbsoluteLayout (OverlayContainer) to host native elements:
<Grid>
<BlazorWebView x:Name="blazorWebView"
HostPage="wwwroot/index.html">
<BlazorWebView.RootComponents>
<RootComponent Selector="#app" ComponentType="{x:Type local:Routes}" />
</BlazorWebView.RootComponents>
</BlazorWebView>
<AbsoluteLayout x:Name="OverlayContainer" BackgroundColor="Transparent" InputTransparent="True" />
</Grid>
This setup ensures that MAUI-native elements overlay correctly within your BlazorWebView.
Usage
To bridge MAUI elements into Blazor, use either:
MauiBlazorTypedBridge<T>(Typed binding)MauiBlazorGenericBridge(Generic binding)
Example: Embedding a MauiLabel in Blazor
@page "/"
@implements IAsyncDisposable
<MauiBlazorTypedBridge @ref="_bridge" TComponent="MauiLabel" Component="_label"></MauiBlazorTypedBridge>
@code {
MauiLabel? _label;
MauiBlazorTypedBridge<MauiLabel>? _bridge;
protected override void OnInitialized()
{
_label = new MauiLabel
{
Text = "This is a MAUI Label",
BackgroundColor = Colors.Transparent,
TextColor = Colors.Black
};
}
public async ValueTask DisposeAsync()
{
if (_bridge != null)
await _bridge.DisposeAsync();
}
}
This example adds a MauiLabel component inside a Blazor page, allowing it to function within the BlazorWebView.
| 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
- Microsoft.AspNetCore.Components (>= 10.0.8)
- Microsoft.Maui.Controls (>= 10.0.70)
- Soenneker.Blazor.CallbackRegistry (>= 4.0.786)
- Soenneker.Extensions.Double (>= 4.0.459)
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 |
|---|---|---|
| 4.0.585 | 31 | 5/24/2026 |
| 4.0.584 | 36 | 5/23/2026 |
| 4.0.583 | 39 | 5/23/2026 |
| 4.0.582 | 39 | 5/22/2026 |
| 4.0.581 | 40 | 5/21/2026 |
| 4.0.580 | 74 | 5/20/2026 |
| 4.0.579 | 75 | 5/20/2026 |
| 4.0.578 | 77 | 5/19/2026 |
| 4.0.577 | 76 | 5/19/2026 |
| 4.0.576 | 76 | 5/19/2026 |
| 4.0.575 | 93 | 5/18/2026 |
| 4.0.574 | 92 | 5/18/2026 |
| 4.0.573 | 89 | 5/14/2026 |
| 4.0.572 | 88 | 5/14/2026 |
| 4.0.571 | 85 | 5/14/2026 |
| 4.0.570 | 85 | 5/14/2026 |
| 4.0.569 | 83 | 5/14/2026 |
| 4.0.568 | 84 | 5/13/2026 |
| 4.0.567 | 84 | 5/13/2026 |
| 4.0.566 | 79 | 5/13/2026 |
Update dependency Soenneker.Blazor.CallbackRegistry to 4.0.786 (#976)