Soenneker.Maui.Blazor.Bridge
3.0.372
Prefix Reserved
dotnet add package Soenneker.Maui.Blazor.Bridge --version 3.0.372
NuGet\Install-Package Soenneker.Maui.Blazor.Bridge -Version 3.0.372
<PackageReference Include="Soenneker.Maui.Blazor.Bridge" Version="3.0.372" />
<PackageVersion Include="Soenneker.Maui.Blazor.Bridge" Version="3.0.372" />
<PackageReference Include="Soenneker.Maui.Blazor.Bridge" />
paket add Soenneker.Maui.Blazor.Bridge --version 3.0.372
#r "nuget: Soenneker.Maui.Blazor.Bridge, 3.0.372"
#:package Soenneker.Maui.Blazor.Bridge@3.0.372
#addin nuget:?package=Soenneker.Maui.Blazor.Bridge&version=3.0.372
#tool nuget:?package=Soenneker.Maui.Blazor.Bridge&version=3.0.372
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.3)
- Microsoft.Maui.Controls (>= 10.0.40)
- Soenneker.Blazor.CallbackRegistry (>= 4.0.466)
- Soenneker.Extensions.Double (>= 4.0.449)
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 |
|---|---|---|
| 3.0.372 | 34 | 2/13/2026 |
| 3.0.371 | 34 | 2/13/2026 |
| 3.0.370 | 34 | 2/12/2026 |
| 3.0.369 | 30 | 2/12/2026 |
| 3.0.368 | 51 | 2/11/2026 |
| 3.0.367 | 51 | 2/11/2026 |
| 3.0.366 | 73 | 2/11/2026 |
| 3.0.365 | 75 | 2/11/2026 |
| 3.0.364 | 73 | 2/10/2026 |
| 3.0.363 | 72 | 2/10/2026 |
| 3.0.362 | 70 | 2/10/2026 |
| 3.0.361 | 73 | 2/10/2026 |
| 3.0.360 | 76 | 2/6/2026 |
| 3.0.359 | 84 | 2/6/2026 |
| 3.0.358 | 85 | 2/4/2026 |
| 3.0.357 | 83 | 2/4/2026 |
| 3.0.356 | 87 | 1/29/2026 |
| 3.0.355 | 94 | 1/27/2026 |
| 3.0.354 | 86 | 1/27/2026 |
| 3.0.353 | 85 | 1/27/2026 |