BlazorWinOld 2.1.0
dotnet add package BlazorWinOld --version 2.1.0
NuGet\Install-Package BlazorWinOld -Version 2.1.0
<PackageReference Include="BlazorWinOld" Version="2.1.0" />
<PackageVersion Include="BlazorWinOld" Version="2.1.0" />
<PackageReference Include="BlazorWinOld" />
paket add BlazorWinOld --version 2.1.0
#r "nuget: BlazorWinOld, 2.1.0"
#:package BlazorWinOld@2.1.0
#addin nuget:?package=BlazorWinOld&version=2.1.0
#tool nuget:?package=BlazorWinOld&version=2.1.0
Blazor.WinOld
A Blazor UI component library that brings back the nostalgic look and feel of classic Windows operating systems (Windows 98, XP, 7 and 10). Create retro-styled web applications with authentic Windows UI components.
🪶 Lightweight — the NuGet package is only ~250 KB.
Compatible with Blazor Server and Blazor WebAssembly
DEMO and DOCS : https://tossnet.github.io/Blazor-WinOld/
Overview
BlazorWinOld provides a collection of Blazor components styled to match the iconic Windows interfaces from the late 90s and 2000s. Whether you're building a nostalgia-driven project or need that classic Windows aesthetic, this library delivers pixel-perfect components including buttons, message boxes, windows, tabs, and more.
https://github.com/user-attachments/assets/f5a8b771-8f57-4c40-8e1e-6ae8b29a05d7
Installation
Install-Package BlazorWinOld
or
dotnet add package BlazorWinOld
For client-side and server-side Blazor - add script section (head section)
<link href="_content/BlazorWinOld/css/blazorwinold.css" rel="stylesheet" />
In Program.cs add this line
builder.Services.AddWinOldComponents();
and in the bottom of your MainLayout.razor add these lines (optional, only if you use MessageBox or InputBox)
<WinOldMessageBoxHost />
<WinOldInputBoxHost />
<WinOldDialogHost />
<a name="ReleaseNotes"></a>Release Notes
<details open="open"><summary>Version 2.1.0</summary>
- Added new
WinOldNumberBoxcomponent for numeric input with support for generic types- Enhanced
WinOldInputBoxwith support for numeric types:int,decimal, anddouble- New extension methods:
ShowInputBox<int?>(),ShowInputBox<decimal?>(), andShowInputBox<double?>()</details>
<details><summary>Version 2.0.0</summary>
- Added new Windows 10 style theme
- Windows 10 is now the default style applied to all components </details>
<details><summary>Version 1.5.0</summary>
- Added WinOldDialog component: a fully draggable dialog window supporting custom child content </details>
<details><summary>Version 1.4.0</summary>
- Added drag-and-drop support for MessageBox and InputBox, allowing users to move the window freely across the screen. </details>
<details><summary>Version 1.3.1</summary>
- Improve disabled style for some components (Frame, Options, Tab)
- WinOldTabs : a Tab can be disabled. </details>
<details open="open"><summary>Version 1.3.0</summary>
- ⚠️ BREAKING CHANGE:
- DialogOptions has been renamed to MessageBoxOptions for WinOldMessageBox
- Migration: Replace 'new DialogOptions' with 'new MessageBoxOptions' (simple Find/Replace)
- New WinOldInputBox component
- Button : Add "Default" Property style for win98 button </details>
<details><summary>Version 1.2.9</summary>
- Fix height of Tabs
- Fix disabled style of WinOldButton </details>
<details><summary>Version 1.2.8</summary>
- win7 : separation of font size from font family </details>
<details><summary>Version 1.2.7</summary>
- Improved checkbox component rendering
- Fixed button and selectbox label colors on Safari </details>
<details><summary>Version 1.2.6</summary>
- Added
disabledattribute support onWinOldSelectcomponent- Added Select page in the demo site </details>
<details><summary>Version 1.2.2</summary>
- Added .AddWinOldComponents() to simplify declaration </details>
Thanks
I used these repo for most of the css and icons:
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. 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. |
-
net8.0
- Microsoft.AspNetCore.Components.Web (>= 8.0.25)
-
net9.0
- Microsoft.AspNetCore.Components.Web (>= 9.0.14)
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 |
|---|---|---|
| 2.1.0 | 37 | 4/5/2026 |
| 2.0.0 | 39 | 4/4/2026 |
| 1.5.0 | 86 | 3/30/2026 |
| 1.4.0 | 90 | 3/15/2026 |
| 1.3.1 | 99 | 2/12/2026 |
| 1.3.0 | 97 | 2/10/2026 |
| 1.2.9 | 102 | 2/4/2026 |
| 1.2.8 | 129 | 1/29/2026 |
| 1.2.7 | 229 | 1/26/2026 |
| 1.2.6 | 95 | 1/23/2026 |
| 1.2.5 | 131 | 1/19/2026 |
| 1.2.4 | 97 | 1/19/2026 |
| 1.2.3 | 299 | 4/13/2025 |
| 1.2.2 | 214 | 3/16/2025 |
| 1.2.1 | 209 | 12/27/2024 |
| 1.2.0 | 166 | 12/26/2024 |
| 1.1.0 | 186 | 12/24/2024 |
| 1.0.0 | 187 | 12/22/2024 |
| 0.0.7 | 187 | 12/21/2024 |
| 0.0.6 | 206 | 12/20/2024 |
v2.1.0 - Added WinOldNumberBox component and InputBox support for numeric types (int, decimal, double)