Pixata.Blazor 4.4.0

dotnet add package Pixata.Blazor --version 4.4.0
                    
NuGet\Install-Package Pixata.Blazor -Version 4.4.0
                    
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="Pixata.Blazor" Version="4.4.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Pixata.Blazor" Version="4.4.0" />
                    
Directory.Packages.props
<PackageReference Include="Pixata.Blazor" />
                    
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 Pixata.Blazor --version 4.4.0
                    
#r "nuget: Pixata.Blazor, 4.4.0"
                    
#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 Pixata.Blazor@4.4.0
                    
#: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=Pixata.Blazor&version=4.4.0
                    
Install as a Cake Addin
#tool nuget:?package=Pixata.Blazor&version=4.4.0
                    
Install as a Cake Tool

Pixata.Blazor Pixata.Blazor Nuget package

Pixata

Like many developers, I find myself writing the same Blazor components over and over again. I have gathered some of those components together in one place, and am making them available for anyone else who might find them useful.

A Nuget package is available for these components.

I sometimes waffle on about these components in my blog. No-one reads it, but it satisfies my deeply buried desire to be a writer. If you read the blog, you'll realize why the desire is still deeply buried!

There is a complementary package, which contains additional components for those who have a subscription to Telerik.

Sample project

I have added a Blazor web project to the repository, and use that to try out and demonstrate the components. It doesn't contain samples for all the components yet, but I hope to add more over time. It is deployed at test.pixata.co.uk.

Documentation

The documentation is split over the following pages...

Page What's in it
Styling The stylesheet the components ship with, how to fit it to your own theme, and what changed when the Bootstrap dependency was dropped
Components VirtualiseWithState, SitePageTitle, IdentityInspector, HebrewDatePicker, ListOrGridChooser and the CommonComponentBase base class
Containers HtmlRaw, Busy, Loader, Confirm, Inform, MessageView, Expander and DumpCollection
ApiResponseView The container that renders an ApiResponse<T>, handling loading, errors and expired sessions for you
Forms The form layout components and the complete FormRowXxx rows
Notifications Toast-style notifications, and how to have API errors reported through them
Audit viewer The component for browsing the audit trail recorded by Pixata.AspNetCore
Helpers and services PersistentStateHelper, TemplateHelper, MessageBroker, PasswordOptionsHelper, ScrollStateService, PixataBaseClientService and TryGetQueryString()
Payload encryption Client-side setup for encrypting API traffic between a WASM app and an ASP.NET Core server
Declarative control flow If, Switch and ForEach, which replace the Razor @if, @switch and @foreach statements

Registering dependencies

Some components in this package require services to be registered in the DI container. To make this easier, you can use the AddPixataBlazor extension method in your Program.cs file...

builder.Services.AddPixataBlazor();

This registers the following services (all from this package)...

Service What needs it
MessageBrokerInstance The MessageBroker, which lets components send messages to each other without knowing about each other
NotificationHelper The notifications (sample page)
PasswordOptionsHelper Showing the user your Identity password requirements
PersistentStateHelper<T> Avoiding hitting the database twice when a page loads. Used by the ApiResponseView, but can be used independently
ScrollStateService The VirtualiseWithState component
TemplateHelper Building templates for grids and other templated components (sample page)

PersistentStateHelper<T> does the same job as the [PersistentState] attribute added in .NET 10. This one was written around .NET 8, and is still useful for projects targetting .NET versions before 10.

It also registers Blazored.LocalStorage, which ScrollStateService needs. This package has always referenced Blazored.LocalStorage, but until v2.34.0 it left you to register it, so unless you knew to add builder.Services.AddBlazoredLocalStorage() yourself, your app fell over at startup when the container was validated. If you have already registered it (with your own options, for example), your registration is left alone.

Note that you need to do this in any Program.cs file, so if you have a mixed rendering mode (both server-side and client-side), you'll need to call AddPixataBlazor in both Program.cs files.

It is a good idea to add this line after your own service registrations, as it checks for duplicate registrations. Therefore, if you have already registered any of the services, you will see a message in your console...

A service of type TemplateHelper has already been registered

This isn't actually a problem, but removing the duplicate registration will keep the code file a bit cleaner.

The audit viewer and the payload encryption have their own registration methods, as most apps don't want them. See the pages listed above.

Styling

Don't forget to add the stylesheet, or the components will render unstyled...

<link rel="stylesheet" href="_content/Pixata.Blazor/pixata.css" />

See Styling for what's in it, and how to fit it to your own theme.

Product 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 was computed.  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 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. 
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 Pixata.Blazor:

Package Downloads
Pixata.Blazor.LanguageExtComponents

A set of reusable Blazor components related to the LanguageExt Nuget package

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
4.4.0 48 9/22/2026
4.3.0 104 9/8/2026
4.2.0 112 9/3/2026
3.0.0 131 8/25/2026
2.33.0 107 8/18/2026
2.32.0 150 8/17/2026
2.30.4 145 7/19/2026
2.30.3 117 7/16/2026
2.30.2 121 7/16/2026
2.30.1 111 7/16/2026
2.30.0 122 7/16/2026
2.29.0 154 6/21/2026
2.28.0 153 6/8/2026
2.27.2 130 6/5/2026
2.27.1 130 6/5/2026
2.27.0 127 6/5/2026
2.26.1 136 6/1/2026
2.26.0 135 6/1/2026
2.25.0 131 5/28/2026
2.24.0 131 5/27/2026
Loading failed