Soenneker.Blazor.Floating.Windows
3.0.16
Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package Soenneker.Blazor.Floating.Windows --version 3.0.16
NuGet\Install-Package Soenneker.Blazor.Floating.Windows -Version 3.0.16
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="Soenneker.Blazor.Floating.Windows" Version="3.0.16" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Soenneker.Blazor.Floating.Windows" Version="3.0.16" />
<PackageReference Include="Soenneker.Blazor.Floating.Windows" />
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 Soenneker.Blazor.Floating.Windows --version 3.0.16
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Soenneker.Blazor.Floating.Windows, 3.0.16"
#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 Soenneker.Blazor.Floating.Windows@3.0.16
#: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=Soenneker.Blazor.Floating.Windows&version=3.0.16
#tool nuget:?package=Soenneker.Blazor.Floating.Windows&version=3.0.16
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
<img src="https://user-images.githubusercontent.com/4441470/224455560-91ed3ee7-f510-4041-a8d2-3fc093025112.png" alt="Logo" width="48"/> Soenneker.Blazor.Floating.Windows
Modern, customizable floating windows for Blazor
✨ Features
- 🪟 Draggable & Resizable — Move and resize windows with smooth, modern UX
- 🎨 Fully Customizable — Colors, fonts, borders, shadows, and more
- 🌗 Custom theming — Built-in typed support
- 🖼️ Multiple Windows — Manage, stack, and focus with z-index
- 📱 Responsive — Works on desktop and mobile
- ♿ Accessible — ARIA labels, keyboard navigation
- ⚡ Event Callbacks — React to show, hide, drag, resize, and more
🚀 Installation
dotnet add package Soenneker.Blazor.Floating.Windows
// Program.cs
using Soenneker.Blazor.Floating.Windows.Registrars;
builder.Services.AddFloatingWindowAsScoped();
// _Imports.razor
@using Soenneker.Blazor.Floating.Windows
🛠️ Basic Usage
<FloatingWindow Title="My Window" Width="400" Height="300">
<div>
<h3>Hello World!</h3>
<p>This is a floating window with your content.</p>
<button @onclick="() => window?.Close()">Close</button>
</div>
</FloatingWindow>
🎨 Theming & Styling
Built-in themes:
<FloatingWindow StyleOptions="FloatingWindowStyleOptions.DefaultLight">...</FloatingWindow>
<FloatingWindow StyleOptions="FloatingWindowStyleOptions.DefaultDark">...</FloatingWindow>
<FloatingWindow StyleOptions="FloatingWindowStyleOptions.DemoTheme">...</FloatingWindow>
Custom styling:
<FloatingWindow StyleOptions="new FloatingWindowStyleOptions
{
BackgroundColor = "#f8f9fa",
BorderColor = "#dee2e6",
BorderRadius = "12px",
TitleBarBackgroundColor = "#007bff",
TitleBarTextColor = "#ffffff",
CloseButtonTextColor = "#ffffff",
CloseButtonHoverBackgroundColor = "rgba(255, 255, 255, 0.2)",
CustomClass = "my-custom-window",
CustomStyles = new Dictionary<string, string>
{
["backdrop-filter"] = "blur(10px)",
["border"] = "2px solid #007bff"
}
}">...</FloatingWindow>
💡 Advanced Example
<FloatingWindow @ref="myWindow"
Title="Advanced Window"
Width="500"
Height="400"
InitialX="100"
InitialY="100"
Draggable="true"
Resizable="true"
ShowCloseButton="true"
ShowTitleBar="true"
CenterOnShow="true"
ConstrainToViewport="true"
OnShow="OnWindowShow"
OnHide="OnWindowHide"
OnDragStart="OnDragStart"
OnDragEnd="OnDragEnd">
<div class="window-content">
<h3>Advanced Features</h3>
<p>This window demonstrates all the available features.</p>
<div class="controls">
<button @onclick="() => myWindow?.SetPosition(200, 200)">Move to (200,200)</button>
<button @onclick="() => myWindow?.SetSize(600, 500)">Resize to 600x500</button>
<button @onclick="() => myWindow?.BringToFront()">Bring to Front</button>
</div>
</div>
</FloatingWindow>
@code {
private FloatingWindow? myWindow;
private void OnWindowShow() => Console.WriteLine("Window shown!");
private void OnWindowHide() => Console.WriteLine("Window hidden!");
private void OnDragStart() => Console.WriteLine("Dragging started!");
private void OnDragEnd() => Console.WriteLine("Dragging ended!");
}
⚙️ API Overview
Properties
Property | Type | Default | Description |
---|---|---|---|
Title |
string |
"Window" |
Title bar text |
Width |
int? |
400 |
Initial width (px) |
Height |
int? |
300 |
Initial height (px) |
InitialX |
int? |
100 |
Initial X position |
InitialY |
int? |
100 |
Initial Y position |
Draggable |
bool? |
true |
Enable dragging |
Resizable |
bool? |
true |
Enable resizing |
ShowCloseButton |
bool? |
true |
Show close button |
ShowTitleBar |
bool? |
true |
Show title bar |
StyleOptions |
FloatingWindowStyleOptions |
DefaultLight |
Styling config |
Events
Event | Description |
---|---|
OnShow |
Window shown |
OnHide |
Window hidden |
OnDragStart |
Dragging started |
OnDragEnd |
Dragging ended |
Methods
Method | Description |
---|---|
Show() |
Show window |
Hide() |
Hide window |
Toggle() |
Toggle visibility |
GetPosition() |
Get (x, y) |
SetPosition(x, y) |
Set position |
GetSize() |
Get (width, height) |
SetSize(width, height) |
Set size |
BringToFront() |
Bring window to front |
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. 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.
-
net9.0
- Intellenum (>= 1.0.6)
- Microsoft.AspNetCore.Components.Web (>= 9.0.8)
- Soenneker.Blazor.Extensions.EventCallback (>= 3.0.419)
- Soenneker.Blazor.Utils.ResourceLoader (>= 3.0.1485)
- Soenneker.Extensions.String (>= 3.0.541)
- Soenneker.Utils.Json (>= 3.0.2340)
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.29 | 20 | 8/22/2025 |
3.0.28 | 100 | 8/17/2025 |
3.0.27 | 112 | 8/15/2025 |
3.0.26 | 129 | 8/12/2025 |
3.0.25 | 124 | 8/12/2025 |
3.0.24 | 126 | 8/12/2025 |
3.0.23 | 127 | 8/12/2025 |
3.0.22 | 137 | 8/11/2025 |
3.0.21 | 123 | 8/11/2025 |
3.0.20 | 118 | 8/11/2025 |
3.0.19 | 125 | 8/11/2025 |
3.0.18 | 122 | 8/11/2025 |
3.0.17 | 204 | 8/7/2025 |
3.0.16 | 206 | 8/6/2025 |
3.0.15 | 210 | 8/5/2025 |
3.0.14 | 209 | 8/5/2025 |
3.0.13 | 210 | 8/5/2025 |
3.0.12 | 207 | 8/5/2025 |
3.0.11 | 193 | 8/5/2025 |
3.0.10 | 95 | 7/29/2025 |
3.0.9 | 440 | 7/24/2025 |
3.0.8 | 124 | 7/16/2025 |
3.0.7 | 136 | 7/16/2025 |
3.0.6 | 145 | 7/14/2025 |
3.0.5 | 131 | 7/14/2025 |
3.0.4 | 131 | 7/14/2025 |
3.0.3 | 134 | 7/14/2025 |
3.0.2 | 133 | 7/14/2025 |
3.0.1 | 134 | 7/13/2025 |